¿Cómo manejar Booleans / CheckBoxes en ASP.NET MVC 2 con DataAnnotations?
Tengo un modelo de vista como este:
public class SignUpViewModel
{
[Required(ErrorMessage = "Bitte lesen und akzeptieren Sie die AGB.")]
[DisplayName("Ich habe die AGB gelesen und akzeptiere diese.")]
public bool AgreesWithTerms { get; set; }
}
El código de marcado de vista:
<%= Html.CheckBoxFor(m => m.AgreesWithTerms) %>
<%= Html.LabelFor(m => m.AgreesWithTerms)%>
El resultado:
No se ejecuta validación. Eso está bien hasta ahora porque bool es un tipo de valor y nunca es nulo. Pero incluso si hago que AgreesWithTerms sea anulable, no funcionará porque el compilador grita
"Las plantillas solo se pueden usar con acceso de campo, acceso a propiedades, índice de matriz de dimensión única o expresiones de indexador personalizado de parámetro único".
Entonces, ¿cuál es la forma correcta de manejar esto?