MVC验证07-自定义Model级别验证

时间:2014-07-07 22:23:19   收藏:0   阅读:222
原文: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级别就自定义了验证规则。

MVC验证07-自定义Model级别验证,布布扣,bubuko.com

评论(0)
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!