У меня есть модель вида:
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; }
}
Код разметки представления:
<%= Html.CheckBoxFor(m => m.AgreesWithTerms) %>
<%= Html.LabelFor(m => m.AgreesWithTerms)%>
Результат:
Никакая проверка не выполняется. До сих пор это хорошо, потому что bool - это тип значения и никогда не имеет значения null. Но даже если я делаю AgreesWithTerms нулевым, это не сработает, потому что компилятор кричит
"Шаблоны могут использоваться только с доступом к полю, доступом к свойствам, индексом одномерного массива или однопараметрическими выражениями пользовательского индексатора."
Итак, каков правильный способ справиться с этим?