Définir manuellement ModelState.isValid à partir de Controller

Existe-t-il un moyen de définir manuellement le ModelState.isValid = False depuis le contrôleur?

J’ai un code comme celui-ci

  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 

Mais si _region n’est rien, alors je ne reçois aucune erreur de validation.

J’ai pensé à implémenter un validateur personnalisé, mais il faudrait bash la firebase database deux fois (une fois pour la validation et une fois pour définir la valeur).

Vous ne pouvez pas définir directement ModelState.IsValid , car c’est une propriété dérivée qui vérifie simplement la collection d’erreurs des modèles. Vous pouvez toutefois append vos propres erreurs de modèle, par exemple:

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

ModelState.IsValid alors false.