Плагин проверки JQuery - TypeError: $(...). Validate не является функцией
Мои ошибки script:
TypeError: jQuery.validator undefined Дополнительные-методы .js: 20 TypeError: $(...). Validate не является функцией index.php: 115
Возможно, у меня ошибка в коде jQuery.
<head>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
</head>
<body>
<form id="registerForm" method="post" action="logrej.php">
<input name="login" type="text"/>
<input name="nick" type="text"/>
<input type="password" id="passw" name="password"/>
<input type="password" name="retype" />
<input type="submit" value="Zarejestruj!" />
</form>
<script>
$("#registerForm").validate({
rules: {
login: {
required:true,
rangelenght: [4,20],
remote:"look.php"
},
nick : {
required:true,
rangelenght:[4,20],
remote:"look.php"
},
password: {
required:true,
rangelenght:[4.20]
},
retype: {
required:true,
equalTo:"#passw"
}
},
messages:{
login:{
required:"To pole jest wymagane!"
}
}
})
</script>
Ответы
Ответ 1
Вы не загружаете плагин проверки. Вам нужно:
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
Поместите это перед строкой, которая загружает дополнительные методы.
Кроме того, вы должны получить дополнительные методы из CDN, а не jquery.bassistance.de.
Другие ошибки:
[4.20]
должен быть
[4,20]
и
rangelenght:
должен быть:
rangelength:
Ответ 2
Для меня проблема решена путем изменения http://ajax... в https://ajax... (добавьте S к http)
https://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js
Ответ 3
Включить jquery.validate.js до additional-methods.js
.
$.validate()
определяется там
Ответ 4
Похоже, что ошибка JavaScript, которую вы получаете, вероятно, вызвана
password: {
required:true,
rangelenght:[4.20]
},
Поскольку [4.20]
должен быть [4,20]
, который, как я полагаю, выбрасывает код проверки в additional-methods
, следовательно, вы отправляете ошибку типа.
Изменить: как отметили другие нижеприведенные комментарии rangelenght
также написана с ошибкой, а библиотека jquery.validate.js
отсутствует (при условии, что она не скомпилирована в одно из ваших других активов)
Ответ 5
У меня такая же проблема. Я использую jquery-validation в качестве модуля npm, и исправление для меня заключалось в том, чтобы модуль требовался в начале моего файла js:
require('jquery-validation');
Ответ 6
Вы не включили базовую библиотеку проверки jQuery:
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script>
Поместите это перед библиотекой дополнительных методов. (BTW - это размещенная версия, загрузите ее, если хотите)
Ответ 7
@Дэмиен Блэк, спасибо тебе, парень, потому что это очень полезно для меня.