2013-09-06 1 views
0

Я использую форму MVC 4, и я хочу сделать некоторые проверки для моих входов. Поскольку моя модель с сильным типом MVC немного сложна, я хочу использовать только метод проверки JQuery без использования свойств атрибутов.JQuery проверка с форматом MVC 4 не работает.

Когда я запустил свою страницу, я могу увидеть предупреждающее сообщение, но IE10 говорит мне: «Объект не поддерживает свойство или метод« проверять ».

Кроме того, Chrome также показывает предупреждение, но когда я нажимаю «Отправить» и оставляю свой вход FirstName пустым, ничего не появляется и форма отправляется. Должен ли я определять сообщения об ошибках где-нибудь? Что я делаю не так? Спасибо!

Это мое <head> сечения в _Layout.cshtml:

<head> 
<script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script> 
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script> 
</head> 

Это мое <body> сечения в EditClient.cshtml (с использованием макета выше):

<body> 
<script src="../../Scripts/EditClient.js" type="text/javascript"></script> 
@using (Html.BeginForm("EditClient", "Reviewer", FormMethod.Post, new { id = "ClientForm" })) 
{ 
@Html.TextBoxFor(x => x.Client.Person1.FirstName) 
<input type="submit" value="Submit" class="form-submit" /> 
} 
</body> 

Это мой РедактироватьClient.js для проверки формы:

$("document").ready(function() { 

    alert('Test Alert'); //Showing OK 
    $("#ClientForm").validate(); //IE10 doesn't recognize the method 
    $("#Client_Person1_FirstName").rules("add", { required: true, maxlength: 20, messages: { required: "Title required", maxlength: "Must be under 20 characters"} }); 

}); 

ответ

0

Попробуйте определения правил валидации как то:

$("document").ready(function() { 
    $("#ClientForm").validate({ 
     rules: { 
      'Client.Person1.FirstName': 
      { 
       required: true, 
       maxlength: 20 
      } 
     }, 
     messages: 
     { 
      'Client.Person1.FirstName': 
      { 
       required: 'Title required', 
       maxlength: 'Must be under 20 characters' 
      } 
     } 
    }); 
}); 
+0

еще одно и то же, что-то не хватает? Может быть, обработчик отправки или что-то еще? – Shlomi

+0

Нет, вам не нужен обработчик отправки. Это должно работать, это то же самое, что и код, указанный в документации плагина. Есть ли ошибки на javascript в консоли Chrome? Также убедитесь, что скрипт 'jquery.validate.min.js' существует в указанном месте. Посмотрите на вкладку «Сеть», чтобы узнать, не возникает ли каких-либо 404 ошибок при рендеринге вашего представления. –

+0

Консоль Chrome сообщает мне: «Uncaught TypeError: Object [object Object] не имеет метода« validate »», а вкладка «Сеть» показывает все связанные ок ... – Shlomi

Смежные вопросы