手机版

MVC数据验证详解

时间:2021-09-04 来源:互联网 编辑:宝哥软件园 浏览:

一、一般情况

对于使用过手动音量调节框架的人来说,对手动音量调节的数据验证不会陌生,比如,我有一个模型如下:

公共类用户信息{[必需的(错误消息='用户名不可为空1111')]公共字符串用户名{ get设置;}公共字符串做爱设置;}公共字符串手机{ get设置;}公共字符串地址{ get设置;} }前端:

@使用(Html .begin inform()){ @ Html .antiforgrytoken()div class=' form-horizontal ' H4用户信息/H4 HR/@ Html .ValidationSummary(true,",new { @ class=' text-danger ' })div class=' form-group ' @ Html .标签(型号=型号.UserName,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.UserName,new { HTMl Attributes=new { @ class=' form-control ' } })@ Html .ValidationMessageFor(model=model .UserName ' ',new { @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.Sex,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.Sex,new { HTMl Attributes=new { @ class=' form-control ' } })@ Html .ValidationMessageFor(model=model .Sex ' ',new { @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.Mobile,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.手机,新的{ HTMl Attributes=new { @ class=' form-control ' } })@ Html .ValidationMessageFor(model=model .Mobile,',new { @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.Address,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.地址,新的{ HTMl Attributes=new { @ class=' form-control ' } })@ Html .ValidationMessageFor(model=model .地址'',新的{ @ class=' text-danger ' })/div/div class=' form-group ' div class=' col-MD-offset-2 col-MD-10 '输入类型='提交'值=' Create ' class=' BTN BTN-默认'//div/div }效果:

是的,MVC可以通过对一些属性添加一定的特性来对数据进行验证。这对大家来说可能并不陌生。

如果仅仅是这样就完事了,那么也就没事么意思了。

二、常用情况

在实际的开发中,我们大都是通过EF,或者其他方式,使得数据库中的每一个表或视图,都在代码中对应的一个类模型,对于通过数据库生成的模型,我们不宜修改,退一步讲,即使我们在这个类中对一些属性增加一些数据验证的特性,那么,数据库发生变化后,如果我再重新生成这些模型,我们之前添加好的验证特性将没有了,那么,我们如何解决这样的问题呢?

假如:

公共类用户信息{公共字符串用户名{ get设置;}公共字符串做爱设置;}公共字符串手机{ get设置;}公共字符串地址{ get设置;} }UserInfo是通过数据库生成的一个模型,对于数据库生成的模型,我们不宜修改。但那是,我们又需要对这个模型中的某些属性进行数据验证,比如需要对用户名属性进行非空验证,那么我们如何做呢?

大家通常会想到部分类,是的,我们可以通过部分类来解决上述问题。

首先,我们将模型中的类加上关键字部分的,然后我们再写一个这个模型的部分类。

公共分部类用户信息{[必选(错误消息='用户名不可为空1111')]公共字符串用户名{ get设置;} }但是,这样会提示我们一个错误,就是类中存在重复的属性,是的,部分类中,属性是不可以重名的。那么,我们该怎么办呢,MVC框架已经给了我们解决方案了。

我们可以这样写:

[元数据类型(类型为(meteuserinfo)]公共分部类userinfo {私有类meteuserinfo {[必需的(errormessage=' username不能为null 1111')]公共字符串username { get设置;}}}这样,我们上面的问题就解决了。

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:MVC数据验证详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。