Я ищу плагин для jQuery, который может проверяться при нажатии клавиши и после потери фокуса (текстовые поля).
Сейчас я использую jVal - плагин проверки полей формы jQuery. Работает неплохо. Единственная проблема, с которой я столкнулся, это то, что я могу использовать только общее сообщение об ошибке.
Например: Мне нужна строка от 2 до 5 символов. Если он слишком короткий, я хотел бы отобразить сообщение об ошибке, указывающее, что оно короткое, равно как и слишком длинное. Я знаю, что могу отобразить сообщение об ошибке, которое требует, чтобы строка содержала от 2 до 5 символов. Выполняемая проверка более сложна.
Любые идеи о других валидаторах или о том, как я мог бы использовать этот плагин для отображения уникальных сообщений об ошибках.
Редактировать:
Инструмент проверки должен предотвращать использование определенных букв или цифр и не требовать формы.
Спасибо

Похоже, это соответствует вашему описанию:
Вот фрагмент кода, скопированный из источника демонстрации:
// validate signup form on keyup and submit
$("#signupForm").validate({
rules: {
firstname: "required",
lastname: "required",
username: {
required: true,
minlength: 2
},
password: {
required: true,
minlength: 5
},
confirm_password: {
required: true,
minlength: 5,
equalTo: "#password"
},
email: {
required: true,
email: true
},
topic: {
required: "#newsletter:checked",
minlength: 2
},
agree: "required"
},
messages: {
firstname: "Please enter your firstname",
lastname: "Please enter your lastname",
username: {
required: "Please enter a username",
minlength: "Your username must consist of at least 2 characters"
},
password: {
required: "Please provide a password",
minlength: "Your password must be at least 5 characters long"
},
confirm_password: {
required: "Please provide a password",
minlength: "Your password must be at least 5 characters long",
equalTo: "Please enter the same password as above"
},
email: "Please enter a valid email address",
agree: "Please accept our policy"
}
});
Я использую плагин jQuery: проверка. он прекрасно работает с созданием элементов DOM на лету. Создавая их на лету, убедитесь, что указаны имя и идентификатор атрибутов. Я почти уверен, что плагин использует атрибут name, чтобы найти их в html. Если имя отсутствует, их невозможно найти.
Также это может быть еще один хороший инструмент для проверки. http://www.livevalidation.com
В текущей магистрали jVal 0.1.4 он может обрабатывать немного более надежную функциональность проверки ошибок, чем предыдущие версии, позволяя вам возвращать строки в качестве сообщения об ошибке. Получить текущую ревизию 11 jVal 0.1.4 trunk по адресу http://jquery-jval.googlecode.com/svn/trunk/jVal.js
Вот пример поля пароля, которое будет проверять:
Он отобразит настраиваемое сообщение, если не удастся выполнить определенную проверку.
<input id = "web_pswd" type = "password" size = "20"
jVal = "{valid:function (val) { if ( val.length < 8 ) return '8 or more characters required'; else if ( val.search(/[0-9]/) == -1 ) return '1 number or more required'; else if ( val.search(/[a-zA-Z]/) == -1 ) return '1 letter or more required'; else return ''; }, styleType:'pod'}"
для меня лучше всего будет http://livevalidation.com/ или тот из baseassistance http://bassistance.de/jquery-plugins/jquery-plugin-validation/
jVal и live-form-validation могут быть нормальными, но я думаю, что весь смысл использования gjQuery заключается в использовании чистого, беспрепятственного кода, а они требуют так много беспорядка, что это не вариант для меня.
Я предполагаю, что в будущем проверка живой формы будет развиваться, действительно странно, что нужно вводить все регулярное выражение для проверки электронной почты в каждой форме ...
Насколько я могу судить, Livevalidation использует встроенный javascript - не круто! Кроме того, я думаю, что в некоторых случаях страдает удобство использования, когда вы даете людям сообщение об ошибке до того, как они успеют заполнить форму.