В моем случае это происходит только при использовании IE в режиме причуд, мои настройки - режим браузера: IE9, режим документа: причуды. Это приводит к тому, что проверка на стороне клиента не работает для меня. Тем не менее, та же страница хорошо работает в Firefox, Chrome и IE9, режим браузера: IE9, режим документа: стандарты IE9 при использовании панели инструментов разработчика. Не то, чтобы это решение, но возможное лидерство

я есть обязательная аннотация на моей модели:

[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;
    }
}

Это уже не проверенная сторона клиента?

Ответы на вопрос(1)

Ваш ответ на вопрос