zoukankan      html  css  js  c++  java
  • MVC验证07-自定义Model级别验证

    在一般的自定义验证特性中,我们通过继承ValidationAttribute,实现IClientValidatable,只能完成对某个属性的自定义验证。
    使用IValidatableObject可以完成Model级别的验证。

    □ 实现IValidatableObject接口的Model

    public class RegisterModel : IValidatableObject
    {
        public int RegisterCount{get;set;}
        public int Qutoa{get;set;}
     
        //实现IValidatableObject接口方法,实现自定义验证
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            var results = new List<ValidationResult>();
                
            if (RegisterCount > Quota)
            {
                results.Add(new ValidationResult("报名人数已经超过名额限制", new string[] { "RegisterCount" }));
            }
            if (RegisterCount>3)
            {
                results.Add(new ValidationResult("单次最多报名三位学员", new string[] { "RegisterCount" }));
            }
            return results;
        }
    }
     

    可见,在Model级别就自定义了验证规则。

  • 相关阅读:
    8月6日总结
    8月4日总结
    8月3日总结
    快速幂计算题解
    7月31日总结
    7月30日总结
    关于PHP中”::”能够调用一个非静态的方法的解释
    码云 使用 svn 管理项目
    Mysql的数据类型
    thinkphp5的$this->fetch()
  • 原文地址:https://www.cnblogs.com/darrenji/p/3581390.html
Copyright © 2011-2022 走看看