05.12.2016, 13:05
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
Jquery.validate не выводит сообщения об ошибках
Здравствуйте!
Очень нужна ваша помощь.
Подскажите пожалуйста, почему не выводятся сообщения об ошибках?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test jQuery Validation Form</title>
<script type="text/javascript" src="js/jquery.slim.min.js"></script>
<script type="text/javascript" src="js/jquery.validate.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.validator.addMethod('validName', function (value) {
var result = true;
var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?"+"абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"+" ";
for (var i = 0; i < value.length; i++) {
if (iChars.indexOf(value.charAt(i)) != -1) {
return false;
}
}
return result;
}, '');
$.validator.addMethod('validDate', function (value) {
var result = true;
for (var i = 0; i < value.length; i++) {
if(!/^([0-9]{4,4})+\.([0-9]{2,2})+\.[0-9]{2,2}$/.test(value)){
return false;
}
}
return result;
}, '');
$("#form_name").validate({
focusInvalid: false,
focusCleanup: true,
rules: {
name: {
required: true,
validName: true,
minlength: 4,
maxlength: 25,
remote: {
url: "check_name.php",
type: "post"
}
},
password: {
required: true,
rangelength: [4, 25],
remote: {
url: "check_pass.php",
type: "post",
data: {
name: function() {
return $("#name").val();
}
}
}
},
password_new: {
minlength: 4,
required: true
},
password_new_check: {
required: true,
equalTo: "#password_new"
},
email: {
required: true,
email: true
},
age: {
required: true,
range: [1,99]
},
date: {
validDate:true
},
urlname: {
url: true
},
about: {
minlength: 10,
maxlength: 500
}
},
messages: {
name: {
required: "Введите имя пользователя",
validName: "Символы !@#$%^&*()+=-[]\\\';,./{}|\":<>? и пробелы запрещены. Также нельзя использовать русские буквы",
minlength: "Минимум 4 символа ",
maxlength: "Максимум 25 символов ",
remote: "Такое имя уже существует "
},
password: {
required: " Введите текущий пароль ",
rangelength: "От 4 до 25 символов",
remote: " Вы неправильно ввели пароль "
},
password_new: {
minlength: "Минимум 4 символа ",
required: "Введите пароль "
},
password_new_check: {
required: "Повторно введите пароль ",
equalTo: "Пароль неправильно введён повторно"
},
email: {
required: "Введите адрес ящика",
email: "Введите корректный адрес"
},
age: {
required: "Укажите ваш возраст",
range: "Укажите возраст в цифрах (до 99)"
},
date: {
validDate: "Дата введена неверно (формат YYYY.MM.DD)"
},
urlname: {
url: "Введите адрес, начиная с http://"
},
about: {
minlength: "Напишите о себе немного",
maxlength: "Не пишите так много!"
}
},
errorPlacement: function(error, element) {
var er = element.attr("name");
error.appendTo( element.parent().find("label[@for='" + er + "']").find("span") );
},
success: function(label) {
label.html(" ").addClass("checked");
}
});
});
</script>
<style>
label span {
color: #EA5200;
font-weight:bold;
}
label.error {
background:url("unchecked.gif") no-repeat 0px 0px;
padding-left: 16px;
padding-bottom: 2px;
}
label.checked {
background:url("checked.gif") no-repeat 0px 0px;
}
</style>
</head>
<body>
<form action="" method="post" name="form_name" id="form_name">
<label for="name">Никнейм: <span></span></label><br>
<input name="name" id="name" type="text" size="30" value=''>
<table border="0" width="655px">
<tr>
<td valign="bottom" width="33%">
<label for="password">Текущий пароль: <span></span></label><br>
<input name="password" type="password" id="password" size="30" value="">
</td>
<td valign="bottom" width="33%">
<label for="password_new">Новый пароль: <span></span></label><br>
<input name="password_new" id="password_new" type="password" size="30" value=''>
</td>
<td valign="bottom">
<label for="password_new_check">Повторно введите пароль: <span></span></label><br>
<input name="password_new_check" id="password_new_check" type="password" size="30" value=''>
</td>
</tr>
<tr>
<td>
<label for="email">E-mail: <span></span></label><br>
<input name="email" id="email" type="text" size="30">
</td>
<td>
<label for="age">Возраст: <span></span></label><br>
<input name="age" id="age" type="text" size="30">
</td>
<td>
<label for="date">Дата рождения: <span></span></label><br>
<input name="date" id="date" type="text" size="30">
</td>
</tr>
</table>
<label for="urlname">Адрес сайта: <span></span></label><br>
<input name="urlname" id="urlname" type="text" size="30"><br>
<label for="about">О себе: <span></span></label><br>
<textarea name="about" id="about" cols="79" rows="10"></textarea>
<p><input type="submit" name="submit" value="Сохранить"></p>
</form>
</body>
</html>
|
|
05.12.2016, 13:13
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
DDim1000,
загрузка query где?
|
|
05.12.2016, 13:24
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
Сообщение от рони
|
DDim1000,
загрузка query где?
|
Честно сказать, я уже не помню.., потому что я столько версий jquery перепробовал, и все зря. Поэтому решил обратиться за помощью на форум.
Я не понимаю, почему так, вроде все делаю так, как описано в статье: http://shublog.ru/ajax/jquery/formy-...orm-na-jquery/ но, почему у меня не работает?
|
|
05.12.2016, 13:48
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
А какой лучше JQuery использовать?
|
|
05.12.2016, 14:07
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
DDim1000,
как вариант ваш validate.min.js или JQuery более новые чем в примере по ссылке.
установить старый validate, либо разбиратся как изменился синтаксис за 7 лет и вносить правки под новые версии
Последний раз редактировалось рони, 05.12.2016 в 14:15.
|
|
05.12.2016, 16:06
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
Подключил jquery-3.0.0.min.js и jquery.validate-1.15.0.min.js и после этого перестали работать трекбар и jCarouselLite_1.1, почему так?
Изображения:
|
er.jpg (295.1 Кб, 2 просмотров) |
|
|
05.12.2016, 16:22
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
DDim1000,
потому что 3 версия видимо слишком нова для jCarouselLite, если конечно вы не используите несколько версий одновременно, что не правильно.
|
|
05.12.2016, 16:37
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
Сообщение от рони
|
DDim1000,
потому что 3 версия видимо слишком нова для jCarouselLite, если конечно вы не используите несколько версий одновременно, что не правильно.
|
И что делать? Одному надо одно, другому - другое. Как это все совместить? И remote тоже не работает с 3-й версией, не сообщается о том, что логин занят.
|
|
05.12.2016, 16:52
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
DDim1000,
версию 1.12.4 попробуйте вместо всех других
|
|
05.12.2016, 20:00
|
Профессор
|
|
Регистрация: 20.10.2016
Сообщений: 223
|
|
Мне кажется что это не из-за JQuery...Кто нибудь может попробовать у себя проверить, будет работать или нет?
|
|
|
|