Проверка jQuery в проекте MVC3 - PullRequest
0 голосов
/ 28 января 2012

Когда я создаю новое приложение MVC3, добавляю модель, добавляю к модели атрибут [Required], создаю новый вид редактирования для этой модели и добавляю @Html.ValidationMessageFor(...), все работает прекрасно. Если я пытаюсь отправить форму редактирования без заполнения значения, мне выдается сообщение для проверки.

Моя проблема в том, что это не работает в корпоративном приложении, над которым я работаю. Вот что я сделал, и мне интересно, если вы можете придумать что-нибудь еще, что я могу проверить, чтобы устранить неполадки. Я не могу поделиться кодом, но, возможно, вы видите очевидное упущение из списка ...

  • Добавить [Required] атрибут в свойство моей модели
  • Убедитесь, что ссылки jquery.validate.js и jquery.validate.unobtrusive.js
  • Добавлено Html.EnableClientValidation(true) и Html.EnableUnobtrusiveJavaScript(true) на мой взгляд
  • Добавлен мой @Html.ValidationMessageFor(...) рядом с моим элементом управления (который является @Html.TextBoxFor)

Проблема в том, что я могу отправить форму, и проверка не выполняется. Я получаю сообщение об ошибке на стороне сервера о том, что объект недействителен, что я ожидаю, если он пройдет проверку на стороне клиента.

Когда я проверяю источник, он не отобразил атрибуты проверки для моего текстового поля. Я ожидаю, что это будет выглядеть примерно так ...

<input class="text-box single-line" data-val="true" 
    data-val-required="The Property1 field is required." 
    id="Property1" name="Property1" type="text" value="" />

Но вместо этого это выглядит примерно так ...

<input id="Reminder_Description" name="Reminder.Description" 
    style="width:300px;" type="text" value="" />

Что именно отвечает за внедрение этих атрибутов?

Спасибо!

Ответы [ 2 ]

1 голос
/ 28 января 2012

Я разобрался в проблеме. Я просто не знал, что атрибуты не передаются через сервисный уровень (WCF), поэтому атрибут Required был неэффективным. Чтобы исправить это, мы добавили локальную ссылку на сборку сущностей (что имеет смысл в нашей архитектуре). Спасибо.

0 голосов
/ 28 января 2012

Вы проверили свой web.config для:

<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...