首页 新闻 搜索 专区 学院

为什么ModelState里的errors需要清除

0
[已解决问题] 解决于 2014-12-25 09:31

ModelState["ViewModel.Password"].Errors.Clear();
ModelState["ViewModel.PasswordVerify"].Errors.Clear();
ModelState["ViewModel.Contact.EmailAddress"].Errors.Clear();
ModelState["ViewModel.SFLeadId"].Errors.Clear();

 

这几行代码为什么需要执行?

Dellienware的主页 Dellienware | 初学一级 | 园豆:39
提问于:2014-09-03 10:34
< >
分享
最佳答案
0

当提交时, MVC 自带的验证 会 验证 Model 中的属性.  你上面的代码就是为了清除 Model验证后的错误信息。为什么要清除,那就要看业务了。

奖励园豆:5
Amos_li | 菜鸟二级 |园豆:297 | 2014-09-03 14:42
其他回答(3)
0

不执行也是可以的。

当一个新的请求发起的时候,这些错误信息都是置空的。

 

有时,在系统提交的时候,Model会自动进行验证信息,此时会产生Errors内容,而自己在代码中需要忽略系统验证的信息而自行编写这个内容就有这个需求了。

519740105 | 园豆:5810 (大侠五级) | 2014-09-03 10:57
0

因为初始化页面的时候他就开始进行判断你的模型绑定了,你可以尝试使用UpdateModel()或者TryUpdateModel()方法更新为当前最新状态,或者懒惰一点直接ModelState.Clear() 

Halower | 园豆:1723 (小虾三级) | 2014-09-08 09:15
0

又学到了一点啊 

我是糖糖 | 园豆:446 (菜鸟二级) | 2014-10-19 19:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册