2008-10-16 2 views
9

Я ищу плагин для jQuery, который может проверяться при нажатии клавиши и после ее потери фокуса (текстовые поля).jQuery - Live Validation Plug-in

Я в настоящее время использую jVal - jQuery Form Field Validation Plugin. Он работает очень хорошо. Единственная проблема, которую я имею, это то, что я могу использовать только общее сообщение об ошибке.

Например: Мне нужна строка от 2 до 5 символов. Если он слишком короткий, я бы хотел отобразить сообщение об ошибке, которое указывает на то, что оно короткое, равномерно, если оно слишком длинное. Я знаю, что могу отобразить сообщение об ошибке, которое требует, чтобы строка содержала от 2 до 5 символов. Валидация, которая выполняется, более сложна.

Любые идеи других валидаторов или как я могу использовать этот плагин для отображения уникальных сообщений об ошибках.


Edit:

Средство проверки необходимо, чтобы предотвратить определенные буквы или цифры и не требуют форму.

Благодаря

ответ

14

Это выглядит, как она будет соответствовать вашему описанию:

Вот фрагмент кода скопирован из источника демо:

// 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" 
    } 
}); 
0

У меня есть плагин jQuery: проверка. он отлично работает с созданием элементов DOM на лету. При создании их на лету убедитесь, что указаны имя и идентификатор атрибутов. Я уверен, что плагин использует атрибут name, чтобы найти их в html. Если имя отсутствует, они не могут быть найдены.

Также это может быть еще один хороший инструмент проверки. http://www.livevalidation.com

+0

Насколько я могу сказать Livevalidation использует встроенный javascript - не круто! Кроме того, я думаю, что в некоторых случаях юзабилити страдает, когда вы даете людям сообщение об ошибке, прежде чем у них будет возможность заполнить форму. – 2008-11-06 11:24:07

0

В текущем соединителе jVal 0.1.4 он может работать с более надежной функцией проверки ошибок, чем предыдущие версии, что позволяет возвращать строки в качестве сообщения об ошибке. Получить текущую версию 11 jVal 0.1.4 ствола на http://jquery-jval.googlecode.com/svn/trunk/jVal.js

Вот пример поля ввода пароля, который будет проверять:

  1. Если пароль имеет 8 символов или более
  2. Если пароль имеет по крайней мере один числовой символ
  3. If пароль имеет хотя бы один из символов альфа.

Отображается пользовательское сообщение, если оно не соответствует конкретной проверке

<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'}" 
2

для меня лучше было бы http://livevalidation.com/ или один из baseassistance http://bassistance.de/jquery-plugins/jquery-plugin-validation/

jVal и жить форм-проверка может быть хорошо, но я думаю, вся суть usin gjQuery заключается в использовании чистого ненавязчивого кода, и для этого требуется столько беспорядка, что это не вариант для меня.

Я думаю, жить форм-проверки будет развиваться в будущем, действительно странно, чтобы набрать THW весь регулярное выражение для проверки электронной почты в каждой форме ....