2

Я не могу получить проверку на стороне клиента, работающую с версией MVC, выпущенной с помощью Visual Studio 2010 RC.Является ли проверка на стороне клиента MVC 2 нарушенной в 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. Если у кого-нибудь есть идея, как, скажем, заставить его работать на странице регистрации, ответьте.

ответ

3

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

чтобы сделать работу проверки JQuery на VS 2010 выполните следующие действия:.

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

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

смешно я просто хотел, чтобы блог об этом выпуске сегодня утром и нашел ваш вопрос, \ hope this help

1

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

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

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