asp.net mvc 数据注解 验证 DataAnnotationsModelValidator

yangguosheng 2017-10-10 05:04:14
asp.net mvc 验证是和绑定过程同时进行的。当前端页面提交了某个model, 如果属性无法绑定(比如bool类型的属性,前段传回来的空字符串),则验证会有错误。这个错误和数据注解验证的错误是在一起的。都会影响ModelState.IsValid,错误信息也都在一起ModelState当中,并且无法区分。

我的需求是我只想关注数据注解验证(DataAnnotationsModelValidator)出的错误。

我的想法是重写DataAnnotationsModelValidator,在验证出错误的时候,将错误放在一个变量中。最后判断这个变量的值。

大神们有没有简单科学的办法。
...全文
237 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangguosheng 2017-10-21
  • 打赏
  • 举报
回复
引用 1 楼 zhy1234523 的回复:
属性无法绑定 这句话什么意思??? 对于bool属性,我前端一般是用checkbox来表示,并没有你说的情况传回来空字符串。。。难道你前端用textbox来表示bool值??? 我的前端一般类似于这样 <input type="checkbox" id="isRemember" name="isRemember" checked value="true" /> 非选中:前端不传,后端接收时候,使用类型的默认值false,不影响ModelState.IsValid 选中: 前端传回true
无法绑定我只是举了个例子。我的目的就是想得到DataAnnotationsModelValidator 数据注解验证的结果,目前ModelState中的验证结果还包括其他的验证。
Kai-3 2017-10-10
  • 打赏
  • 举报
回复
属性无法绑定 这句话什么意思??? 对于bool属性,我前端一般是用checkbox来表示,并没有你说的情况传回来空字符串。。。难道你前端用textbox来表示bool值??? 我的前端一般类似于这样 <input type="checkbox" id="isRemember" name="isRemember" checked value="true" /> 非选中:前端不传,后端接收时候,使用类型的默认值false,不影响ModelState.IsValid 选中: 前端传回true

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧