且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

控件的ASP.NET核心条件验证

更新时间:2023-12-04 12:34:40

您需要实现IValidatableObject.将验证检查放入Validate方法中.最后返回错误列表.

You need to implement IValidatableObject. Put validation checks in Validate method. return list of errors in the end.

public class PageViewModel : IValidatableObject
{
    public bool? HasControl { get; set; }
    public bool? Critical { get; set; }
    public string Description { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        List<ValidationResult> errors = new List<ValidationResult>();
        if (HasControl == true)
        {
            if (Critical == null)
                errors.Add(new ValidationResult($"{nameof(Critical)} is Required.", new List<string> { nameof(Critical) }));

            if (string.IsNullOrWhiteSpace(Description))
                errors.Add(new ValidationResult($"{nameof(Description)} is Required.", new List<string> { nameof(Description) }));
        }
        return errors;
    }
}