J'ai un SearchViewModel avec ces propriétés:ValidateModel problème avec DataAnnotations
[RegularExpression("name")]
public String SortField;
[RegularExpression("asc|desc")]
public String SortDirection;
Comme vous pouvez le voir, je veux « nom » d'être la seule valeur valide de SortField à ce moment, et « asc » ou " desc "les seules valeurs valides pour SortDirection.
Cependant, ValidateModel ne capture aucune erreur lorsque les valeurs sont différentes, et ModelState.IsValid retourne vrai. Fondamentalement, je peux fournir n'importe quelle valeur et cela passera toujours par.
La méthode du contrôleur abrégé:
public ActionResult List(SearchViewModel model)
{
ValidateModel(model); // No error here
Boolean isValid = ModelState.IsValid // This is true
//...
}
Qu'est-ce que je fais mal?
Editer: Je ne suis pas sûr que ce soit important, mais j'utilise un ModelBinder personnalisé.
Got, je vous remercie. – Alex