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

我想尽可能地使用内置的验证功能。我也想使用相同的型号进行CRUD方法

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

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

谢谢。

解决方法

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

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

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

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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....