加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 是否可以手动更新ModelState.IsValid?

发布时间:2020-12-16 00:24:26 所属栏目:asp.Net 来源:网络整理
导读:我想尽可能地使用内置的验证功能。我也想使用相同的型号进行CRUD方法。 但是,由于下拉列表不能使用标准模式,我必须手动验证。在后置方法中,我想只是验证下拉列表,并将此结果添加到ModelState,以便我不必验证数据注释完成的所有其他参数。有可能实现这一
我想尽可能地使用内置的验证功能。我也想使用相同的型号进行CRUD方法。

但是,由于下拉列表不能使用标准模式,我必须手动验证。在后置方法中,我想只是验证下拉列表,并将此结果添加到ModelState,以便我不必验证数据注释完成的所有其他参数。有可能实现这一点吗?

我可能会误以为下拉列表,但从我所看到的,下拉列表的Html对象名称与模型中的属性不能相同,以便正确设置所选值。使用数据注释还有可能使用此解决方法吗?

谢谢。

解决方法

您可以使用 addModelError
ModelState.AddModelError(key,message)

当你使用它,它将使ModelState无效,所以isValid将返回false。

更新
在看到对@ Pieter的回答的评论后

如果要排除元素影响isValid()结果,可以在调用isValid()之前使用ModelState.Remove(field)方法。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读