我可以通过 Controller 手动设置ModelState.isValid = False
吗?
我有一些这样的代码
Dim _region As Domain.Region = RegionService.GetRegionByNameAndParentID(user.UserRegion, user.ParentRegionID)
If ModelState.IsValid AndAlso Not _region Is Nothing Then
''# ...
Else
Return View(user)
End If
但是,如果_region无效,则不会触发任何验证错误。
我考虑过实现自定义验证器,但它需要两次访问数据库(一次用于验证,一次用于设置值)。
最佳答案
您不能直接设置ModelState.IsValid
,因为它是仅检查模型错误集合的派生属性。但是,您可以添加自己的模型错误,例如:
ModelState.AddModelError("Region", "Region is mandatory");
ModelState.IsValid
将返回false。关于asp.net-mvc - 从 Controller 手动设置ModelState.isValid,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3169585/