En utilisant MVC2, j'ai un ViewModel simple qui contient un champ bool qui est rendu sur la vue comme une case à cocher. Je voudrais valider que l'utilisateur a coché la case. L'attribut [Obligatoire] sur mon ViewModel ne semble pas faire l'affaire. Je crois que c'est parce que le champ de case à cocher non coché n'est pas réellement retransmis pendant le POST, et donc la validation ne fonctionne pas dessus.Comment valider une case à cocher dans ASP.Net MVC 2?
Existe-t-il un moyen standard de gérer la validation «requise» de la case à cocher dans MVC2? ou dois-je écrire un validateur personnalisé pour cela? Je soupçonne que le validateur personnalisé ne sera pas exécuté pour la raison mentionnée ci-dessus. Suis-je coincé vérifier explicitement dans mon contrôleur? Cela semble désordonné ...
N'importe quelle direction serait appréciée.
Scott
MODIF.NUMERO CLARITY: Comme il est indiqué dans les commentaires ci-dessous, c'est un « accord à nos conditions » type de case à cocher, et donc « non cochée » est une réponse valable, donc je suis vraiment à la recherche pour une validation "is checked".
Est-ce un type de case à cocher "J'accepte les termes du contrat de licence"? L'attribut [Obligatoire] ne fonctionne pas car une case non cochée est une valeur valide (false). –
Oui, c'est exactement cela, et s'ils ne le vérifient pas, nous ne faisons que réafficher la même vue avec un message de validation que vous devez accepter les termes pour continuer. Je vois votre point de vue sur le faux être "valide" cependant. –
La réponse ici a une bonne façon de le faire qui fonctionne avec les validateurs clients: [http://stackoverflow.com/questions/4934032/mvc3-make-checkbox-required-via-jquery-validate](http stackoverflow.com/questions/4934032/mvc3-make-checkbox-required-via-jquery-validate) –