Проблема пользовательской проверки jQuery в MVC 3 - PullRequest
1 голос
/ 21 июня 2011

Я использую MVC3.Я хочу добавить пользовательскую проверку на стороне клиента при отправке страницы .. Но при этом проверка по умолчанию не работает ...

@using (Html.BeginForm())

{

 @Html.TextBoxFor(model => model.Title, new { maxlength = 250 , style = "width:450px;" })
 @Html.ValidationMessageFor(model => model.Title)

 <input type="submit" value="Submit" id="submit"/>

}

Когда я нажимаю кнопку отправки, я пишу проверку ниже

 $('#submit').click(function () {/*code for validation*/ if not satisfied then  return false; else return true; }

Это работает нормально. В случае возврата false проверка по умолчанию, предоставляемая моделью, не работает, т.е.@Html.ValidationMessageFor(model => model.Title) этот код не работает [Сообщение об ошибке не отображается]. Как проверить правильность проверки по умолчанию при нажатии кнопки?

Ответы [ 2 ]

1 голос
/ 21 июня 2011

попробуйте добавить следующую строку к вашему виду. Html.EnableClientValidation ();

Убедитесь, что проверка клиента включена в web.config:

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

Вам нужно будет сослаться на следующие скрипты:

<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/>

Эта ссылка даст вам представление о том, как она работает. http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html

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

Это не будет работать, так как ненавязчивая проверка в mvc обрабатывается внутри этого скрипта: jquery.validate.unobtrusive.js . Я думаю, что вы можете либо создать свою собственную валидацию, игнорируя встроенную валидацию с использованием аннотаций, либо посмотреть, можете ли вы добавить правило валидации в сценарии, упомянутом ранее. Вы можете посмотреть на вопрос, который я разместил и который касается аналогичной проблемы, но не тихий, но, возможно, он может дать вам представление о том, что вам нужно делать. Надеюсь, это поможет, вот пост:

Интеграция qTip с проверкой MVC3 и jQuery (errorPlacement)

РЕДАКТИРОВАТЬ: причина, по которой это не сработает, потому что вышеупомянутый скрипт проверяет форму и, если она терпит неудачу, добавляет сообщения об ошибках. Следовательно, сообщения об ошибках отображаются только в том случае, если в правилах сценария обнаружена ошибка, а не во внешних проверках, подобных упомянутой вами.

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