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) });
}
}
}
}
}