利用mvc 模型绑定验证方法验证普通类对象数据是否合法

  1. 新建抽象类 添加 IsValid 方法 包含两个重载
  public abstract class ValidBase
    {
         /// <summary>
        /// 验证数据是否合法
        /// </summary>
        /// <param name="results">输出参数 包含错误提示信息</param>
        /// <returns></returns>
        public bool IsValid(out ICollection<ValidationResult> results)
        {
            ValidationContext validation = new ValidationContext(this);
            results = new List<ValidationResult>();
           return Validator.TryValidateObject(this, validation, results, true);
        }
        /// <summary>
        /// 验证数据是否合法
        /// </summary>
        /// <returns></returns>
        public bool IsValid()
        {
            ValidationContext validation = new ValidationContext(this);
             var  results = new List<ValidationResult>();
            return Validator.TryValidateObject(this, validation, results, true);
        }

    }
  1. 新建类继承自 ValidBase 并为需要验证的属性添加 特性
 public class Person: ValidBase
    {
        [Required]
        public string name { get; set; }
    }

可以使用mvc提供的所有验证特性,也可以根据需要自行扩展只需在需要的属性上加入标签即可

原文地址:https://www.cnblogs.com/Freedomchan/p/7117230.html