ASP.MVC3 проверка на стороне клиента включена по умолчанию? - PullRequest
0 голосов
/ 07 июля 2011

На моей странице Layout у меня есть следующие ссылки на файлы Javascript проверки:

 <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"> </script>
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")"type="text/javascript"> </script>
         <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"type="text/javascript"></script>

Мои объекты украшены атрибутами проверки, такими как

[Required(ErrorMessage ="Please enter a customer name")]
    public string CustomerName { get; set; }

Тогда, на мой взгляд, ячтобы после проверки обновлялись поля проверки, такие как

<div class="label-for">@Html.LabelFor(model => model.CustomerName)</div>
<div class="editor">@Html.EditorFor(model => model.CustomerName)</div>
@Html.ValidationMessageFor(model => model.CustomerName) 

Проверка работает, но не на стороне клиента. Насколько я понимаю, сообщения об ошибках должны отображаться при оставлении одного из полей.пустое, после табуляции в другое поле, есть ли что-нибудь еще, чтобы работала проверка на стороне клиента?

Ответы [ 3 ]

0 голосов
/ 09 июля 2011

Может быть, эта работа: убедитесь, что в вашем файле web.config вы установили «ClientValidationEnabled» на «True»

<appSettings>
    <add key="ClientValidationEnabled" value="true"/>
</appSettings>

ПРИМЕЧАНИЕ. В веб-проекте MVC3 было два файла web.config: один в папке «Просмотр», другой в корневом веб-проекте. убедитесь, что один в корне не перекрывает другой.

0 голосов
/ 09 июля 2011

IIRC были некоторые несовместимости между версиями jquery и jquery.validate.Вы, кажется, используете старую версию jquery 1.4.4.Попробуйте обновить с последней.Например, установите Обновление ASP.NET MVC 3 Tools и создайте новый проект ASP.NET MVC в Visual Studio, который предоставит вам правильные версии следующих сценариев: jquery, jquery.validate и jquery.validate.unobtrusive.

0 голосов
/ 07 июля 2011

Проверка jQuery не имеет ничего общего с вашим механизмом проверки. Может быть, Microsoft.Ajax.Validation должен быть ответственным. Но чтобы использовать jquery.validation, вы должны написать код. Это все. Это ничего не делает из коробки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...