分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

MVC模型验证

发布时间:2023-09-06 02:17责任编辑:沈小雨关键词: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页

MVC模型验证

原文地址:https://www.cnblogs.com/zhaow/p/9753929.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved