MVC验证07-自定义Model级别验证
2014-06-28 00:21
246 查看
原文:MVC验证07-自定义Model级别验证在一般的自定义验证特性中,我们通过继承ValidationAttribute,实现IClientValidatable,只能完成对某个属性的自定义验证。
使用IValidatableObject可以完成Model级别的验证。
□实现IValidatableObject接口的Model
.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级别就自定义了验证规则。
使用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级别就自定义了验证规则。
相关文章推荐
- MVC验证07-自定义Model级别验证
- 第十节:数据批注(DataAnnotationModel)和自定义验证(包括Model级别的验证)
- asp.net mvc源码分析-DefaultModelBinder 自定义的普通数据类型的绑定和验证
- MVC 验证和异常处理 分开处理Model级别和属性级别验证
- Rails Model验证及自定义验证 --非常有用
- MVC4 model 自定义验证笔记
- 第6章 数据注解 System.ComponentModel.DataAnnotations 、注解后台原理、自定义验证ValidationAttribute、IValidatableObject
- Yii 自定义model验证规则
- MVC数据验证原理及自定义ModelValidatorProvider实现无编译修改验证规则和错误信息
- sencha touch Model validations 自定义验证 二选一输入验证、重复验证、时间验证、比较验证、条件验证(2015-1-14)
- 使用Django的ModelForm对表单进行自动验证(可自定义验证规则)
- ASP.NET MVC 3 使用Model自定义验证的样式
- MVC数据验证原理及自定义ModelValidatorProvider实现无编译修改验证规则和错误信息
- yii2使用Model无刷新验证rule自定义方法
- IValidatableObject实现model自定义验证
- asp.net mvc源码分析-DefaultModelBinder 自定义的普通数据类型的绑定和验证
- 利用ngModel相关属性及方法自定义表单验证指令
- MVC数据验证原理及自定义ModelValidatorProvider实现无编译修改验证规则和错误信息
- sencha touch Model validations(模型验证,自定义验证)
- Rails Model验证及自定义验证