У меня есть необходимая аннотация на моей модели:
[Required(ErrorMessage = "Please choose an option")]
public bool? AnyDebts { get; set; }
Я включил проверку клиента в web.config:
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
Я ссылался на сценарии jquery в моем макете:
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.4.4.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.6.custom.min.js")" type="text/javascript"></script>
Что еще мне нужно сделать, чтобы проверка клиента работала?Проверка на стороне сервера все еще работает.
РЕДАКТИРОВАТЬ:
Ах, ха!
Я обнаружил, что проверка на стороне клиента работает.
Однако, в частности,Я обнаружил, что свойства модели не проверяются на стороне клиента, это те, которые снабжены пользовательскими атрибутами.Например:
[BooleanRequiredToBeTrue(ErrorMessage = "You must agree to the statements listed")]
public bool StatementAgree { get; set; }
Код атрибута:
public class BooleanRequiredToBeTrueAttribute: RequiredAttribute
{
public override bool IsValid(object value)
{
return value != null && (bool)value;
}
}
Это уже не проверенная сторона клиента?