namespace Yw.Dto { /// /// /// public class CurveExpressToolInput : IValidatableObject { /// /// 拟合类型 /// [Required] public eFitType FitType { get; set; } /// /// 定义点列表 /// [Required] public List DefinePoints { get; set; } /// /// 点数量 /// public int? PointNumber { get; set; } /// /// /// public IEnumerable Validate(ValidationContext validationContext) { if (DefinePoints == null || DefinePoints.Count < 4) { yield return new ValidationResult("DefinePoints 数量不足,至少4个点", new string[] { nameof(DefinePoints) }); } var fitPow = FitHelper.GetFitPow(FitType); if (DefinePoints.Count < fitPow + 1) { yield return new ValidationResult($"DefinePoints 数量不足,至少{fitPow + 1}个点", new string[] { nameof(DefinePoints) }); } if (PointNumber.HasValue) { if (PointNumber.Value < 6) { yield return new ValidationResult($"PointNumber 不能小于6", new string[] { nameof(PointNumber) }); } } } } }