2008-10-16 22 views
9

Estoy buscando un complemento para jQuery que pueda validarse cuando se presiona una tecla y después de que pierde el foco (cuadros de texto).jQuery - Plug-ins de validación en vivo

Actualmente estoy usando jVal - jQuery Form Field Validation Plugin. Funciona bastante bien. El único problema que tengo es que solo puedo usar un mensaje de error genérico.

Por ejemplo: Necesito una cadena de entre 2 y 5 caracteres. Si es demasiado corto, me gustaría mostrar un mensaje de error que indica que es corto, igualmente si es demasiado largo. Sé que podría mostrar un mensaje de error que requiere que la cadena tenga entre 2 y 5 caracteres. La validación que se realiza es más complicada.

Cualquier idea de otros validadores o cómo podría usar este complemento para mostrar mensajes de error únicos.


Editar:

La herramienta de validación tiene que evitar que las letras o números particulares y no requieren una forma.

Gracias

Respuesta

14

Ésta parece que encajaría su descripción:

He aquí un fragmento de código copiado desde la fuente de la demo:

// 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

He utilizado jQuery plugin: validation. funciona muy bien con la creación de elementos DOM sobre la marcha. Al crearlos sobre la marcha, asegúrese de que los atributos nombre e ID estén incluidos. Estoy bastante seguro de que el complemento utiliza el atributo de nombre para encontrarlos en el html. Si el nombre falta, no se pueden encontrar.

También esta podría ser otra buena herramienta de validación. http://www.livevalidation.com

+0

Por lo que yo puedo decir LiveValidation utiliza en línea javascript - ¡no genial! Además, creo que, en algunos casos, la usabilidad sufre cuando le das a las personas un mensaje de error antes de que hayan tenido la oportunidad de completar el formulario. –

0

En el tronco actual de jVal 0.1.4 puede manejar una funcionalidad de comprobación de errores un poco más robusta que las versiones anteriores, lo que le permite devolver cadenas como el mensaje de error. Obtenga la revisión actual 11 jVal 0.1.4 tronco en http://jquery-jval.googlecode.com/svn/trunk/jVal.js

Aquí está un ejemplo de un campo de contraseña que verificará:

  1. Si la contraseña tiene 8 caracteres o más
  2. Si la contraseña tiene al menos un carácter numérico
  3. Si la contraseña tiene al menos una de carácter más alfa

se mostrará un mensaje personalizado si falla una comprobación específica

<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

para mí lo mejor sería http://livevalidation.com/ o el de baseassistance http://bassistance.de/jquery-plugins/jquery-plugin-validation/

jVal y vivir en forma de validación puede estar bien, pero creo El objetivo de usar gjQuery es usar código limpio y no obstructivo, y requieren tanto lío que no es una opción para mí.

supongo vivo en forma de validación evolucionará en el futuro, muy raro tener que escribir toda expresión regular THW para validar un correo electrónico en cada forma ....