我想尽可能使用内置的验证功能。我还想对 CRUD 方法使用相同的模型。
但是,由于无法使用标准模式完成下拉列表,因此我必须手动验证它。在回发方法中,我只想验证下拉列表并将此结果添加到 ModelState 中,这样我就不必验证使用数据注释完成的所有其他参数。有可能实现这一目标吗?
我可能对下拉列表有误解,但从我读到的内容来看,下拉列表的 Html 对象名称不能与模型中的属性相同,以便正确设置所选值。通过此解决方法是否仍然可以使用数据注释?
Thanks.
您可以使用addModelError http://msdn.microsoft.com/en-us/library/system.web.mvc.modelstatedictionary.addmodelerror%28v=vs.90%29.aspx
ModelState.AddModelError(key,message)
当你使用它时,它会使 ModelState 无效,所以isValid
将返回 false。
Update
看到对 @Pieter 的回答的评论后
如果你想排除一个元素影响isValid()
结果,您可以使用ModelState.Remove(field) http://msdn.microsoft.com/en-us/library/system.web.mvc.modelstatedictionary.remove%28v=vs.90%29.aspx调用之前的方法isValid()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)