Al usar MVC2, tengo un modelo de vista simple que contiene un campo bool que se representa en la vista como una casilla de verificación. Me gustaría validar que el usuario marcó la casilla. El atributo [Requerido] en mi ViewModel no parece ser el truco. Creo que esto se debe a que el campo de formulario de casilla de verificación no revisado no se transmite realmente durante el POST y, por lo tanto, la validación no se ejecuta en él.¿Cómo se valida una casilla de verificación en ASP.Net MVC 2?
¿Existe una forma estándar de manejar la validación "requerida" de casilla de verificación en MVC2? o tengo que escribir un validador personalizado para eso? Sospecho que el validador personalizado tampoco se ejecutará por el motivo mencionado anteriormente. ¿Estoy atrapado comprobando explícitamente en mi controlador? Eso parece desordenado ...
Cualquier orientación sería apreciada.
de Scott
EDITAR para mayor claridad: Como se ha señalado en los comentarios a continuación, se trata de un tipo "de acuerdo con nuestros términos" de la casilla, y por lo tanto "no controlada" es una respuesta válida, por lo que estoy realmente esperando para una validación "se verifica".
¿Es esta una casilla de verificación "Acepto los términos del acuerdo de licencia"? El atributo [Requerido] no funciona porque una casilla de verificación no seleccionada es un valor válido (falso). –
Sí, es exactamente eso, y si no lo comprueban, solo estamos redistribuyendo la misma vista con un mensaje de validación que debe aceptar los términos para continuar. Sin embargo, veo que tu punto acerca de la falsedad es "válido". –
La respuesta aquí tiene una buena forma de hacerlo que funciona con los validadores del cliente: [http://stackoverflow.com/questions/4934032/mvc3-make-checkbox-required-via-jquery-validate](http:// stackoverflow.com/questions/4934032/mvc3-make-checkbox-required-via-jquery-validate) –