webapi validaciones valid net mvc isvalid for false errors dataannotations custom asp asp.net-mvc validation

asp.net mvc - validaciones - Establezca manualmente ModelState.isValid desde el controlador



modelstate.isvalid show errors (1)

No puede establecer ModelState.IsValid directamente, ya que es una propiedad derivada que simplemente verifica la colección de errores de los modelos. Sin embargo, puede agregar sus propios errores de modelo, por ejemplo:

ModelState.AddModelError("Region", "Region is mandatory");

ModelState.IsValid devolverá falso.

¿Hay alguna manera de configurar manualmente ModelState.isValid = False desde el controlador?

Tengo un código como este

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

Pero si _region no es nada, entonces no obtengo ningún error de validación.

Pensé en implementar un validador personalizado, pero requeriría golpear la base de datos dos veces (una para la validación y otra para establecer el valor).