Не нарушена ли проверка на стороне клиента MVC 2 в Visual Studio 2010 RC? - PullRequest
2 голосов
/ 25 марта 2010

Мне кажется, что проверка на стороне клиента не работает с версией MVC, выпущенной с Visual Studio 2010 RC.

Я пробовал это с двумя проектами - одним обновлением с 1.0, и другим, используя шаблон, который шел с VS.

Я думаю, что шаблонная версия будет работать, но это не так. Добавлены следующие скрипты:

<script type="text/javascript" 
  src="<%= Url.Content("~/Scripts/MicrosoftMvcValidation.js") %>">
</script>
<script type="text/javascript" 
  src="<%= Url.Content("~/Scripts/jquery.validate.js")%>">
</script>

, которые загружаются на клиент правильно. На страницу формы добавлено следующее:

<% Html.EnableClientValidation(); %>
<%--yes, am aware of the EndForm() bug! --%>
<% using (Html.BeginForm()) { %>    
<%--snip --%>

и я вижу, что сценарии проверки клиента добавлены в конец формы. Но проверка клиента все еще не происходит.

Что еще хуже, в моем обновленном проекте клиентские сценарии проверки никогда не выводятся на страницу!

ОБРАТИТЕ ВНИМАНИЕ : Я специально спрашиваю о версии MVC2, поставляемой с VS2010 RC. Кроме того, я знаю, как Google; Пожалуйста, не тратьте время на поиск и ответ, если вы не знакомы с этой проблемой в версии-кандидате Visual Studio. Спасибо.


Ошибка ID10T: пользователь редактирует одну страницу и тестирует другую.

Однако я не могу заставить клиентскую проверку работать с проектом шаблона MVC2. Если у кого-то есть идея, как, скажем, заставить его работать на странице регистрации, ответьте.

Ответы [ 2 ]

3 голосов
/ 27 марта 2010

У меня была такая же проблема, примеры MS (scottGu и взломанный) немного сбивают с толку, так как вы не знаете, о какой версии они говорят, и взламывает обновления своего поста каждый раз, когда выходит новая версия, так что вы не относитесь к ней :(.

Чтобы проверка JQuery работала В VS 2010 сделайте следующее:

  1. когда вы ответили, вам нужен файл MicrosoftMvcJQueryValidation.js, несколько способов получить этот файл, я получил его из примера проекта из взломанного поста: Пользовательская проверка ASP.NET MVC 2
  2. удалите все ссылки JS и оставьте только эту и jquery.validate.min.js
  3. call <% Html.EnableClientValidation (); %> перед открывающим тегом формы
  4. Не забудьте добавить Html.ValidationMessageFor (..) в ваши поля, так как это триггер для добавления записей в объект JSON проверки клиента

Полагаю, вы сделали все вышеперечисленное, но оставили ссылки на MicrosoftMvcValidation.js на странице, обратите внимание, что в конце этого файла есть зацепка для проверки на стороне клиента MS.

забавно, я просто хотел написать об этой проблеме этим утром и нашел твой вопрос, надеюсь, это поможет

1 голос
/ 25 марта 2010

Мне не повезло заставить его работать в MVC 2 RC. Согласно другим вопросам, связанным с SO, вам нужно получить файл MicrosoftMvcJQueryValidation.js из выпуска MVC Futures, держать левую ногу за головой и свистить Дикси в течение получаса. Я сделал это и многое другое и не смог заставить его работать.

Однако, я получил его, используя плагин jQuery Validation напрямую. Больше работы, но она выполняет свою работу.

Надеюсь, это будет исправлено в RTM.

...