MVC模型验证

一、在动作方法中执行验证
Controller中使用ModelState.AddModelError()方法在验证中根据条件输出错误信息。
如: ModelState.AddModelError("UserName", "用户名不能为空");
需要注意的是,这句生成的是属性级错误,因为AddModelError的第一个参数指定的是被验证的属性名;
如果要改成模型级错误,则保持第一个参数为空,如:ModelState.AddModelError("", "用户名不能为空");

属性级错误和模型级错误
属性级错误是显示在 字段后面
模型级错误是统一显示在页面指定的位置
(自己总结:模型级错误用处就是动作方法中逻辑处理过程需要抛出的错误)
如图所示:

对应的cshtml页面代码:

 
Html.ValidationSummary()辅助器默认会显示所有错误,包括模型级错误和属性级错误。
重载 Html.ValidationSummary(true),boolean值为true代表只显示模型级错误,忽略属性级错误,如:

 可以看到,现在它忽略了属性级错误,只会显示模型级的。

二、在模型类中执行验证
在模型类中通过 验证注解属性 来指定验证规则,验证注解属性有内建的默认模型绑定器DefaultModelBinder进行检测并强制执行。
在对模型类运用绑定过程的任何地方都会强制执行验证规则,而不只存在于个别方法中。
内建的验证注解属性有:
Compare
Range
RegularExpression
Required
StringLength

三、其他验证方式
除了以上两种之外,还有其他的方式进行模型验证,如:
1、在模型绑定器中验证;
2、创建自验证模型;
详见《精通ASP.NET MVC3框架》485页、492页

转载于:https://www.cnblogs.com/zhaow/p/9753929.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值