码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2014-07-07 22:23:19      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   width   

原文: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

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

标签:style   blog   http   color   使用   width   

原文地址:http://www.cnblogs.com/lonelyxmas/p/3812885.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!