您的位置:首页 > 其它

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

2014-06-28 00:21 246 查看
原文:MVC验证07-自定义Model级别验证在一般的自定义验证特性中,我们通过继承ValidationAttribute,实现IClientValidatable,只能完成对某个属性的自定义验证。
使用IValidatableObject可以完成Model级别的验证。

□实现IValidatableObject接口的Model

publicclassRegisterModel:IValidatableObject
{
publicintRegisterCount{get;set;}
publicintQutoa{get;set;}
//实现IValidatableObject接口方法,实现自定义验证
publicIEnumerable<ValidationResult>Validate(ValidationContextvalidationContext)
{
varresults=newList<ValidationResult>();
if(RegisterCount>Quota)
{
results.Add(newValidationResult("报名人数已经超过名额限制",newstring[]{"RegisterCount"}));
}
if(RegisterCount>3)
{
results.Add(newValidationResult("单次最多报名三位学员",newstring[]{"RegisterCount"}));
}
returnresults;
}
}

.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}

可见,在Model级别就自定义了验证规则。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: