Veo en el blog de Andres una libreria (LiveValidation) mas para hacer nuestros formulario un poco mas amigables se trata de una clase en js que te permite hacer validaciones al momento de tus campos del formulario de manera muy sencilla, dando la posibilidad de hacer comprobacion de todo tipo aqui la lista de posibles validaciones:
- Presence (valida si el campo contiene algun valor o esta limpio)
- Format (comprueba una coincidencia en la cadena)
- Numericality (Comprueba que el valor sea numerico)
- Length (comprueba el largo de la cadena de texto)
- Inclusion (valida si el valor escrito es igual o parcialmente igual a alguno de los listados)
- Exclusion (validad que el valor sea diferente a cualquiera incluido en la lista)
- Acceptance (puede comprobar si un checked o radio esta seleccionado)
- Confirmation (Comprueba la coincidencia de dos campos distintos, ej. contraseña)
- Email (Comprueba que el valor sea un correo electronico valido)
- Composite validations (combining validations) (El nombre lo dice puedes combinar las validaciones anteriores)
- Validating entire forms (valida todo el formulario)
- Styling it up (permite pasarle un estilo css segun el resultado de la validacion)
Tambien te permite definir la accion o mensajes a ejecutar en caso de que sea validado o falle, esta bastante completa y muy recomendable.
Ejemplo:
var sayHello = new LiveValidation( "sayHello", { validMessage: "Hey there!" } );
sayHello.add( Validate.Presence,
{ failureMessage: "Don't just ignore me, I wanna be your friend!" } );
sayHello.add( Validate.Format,
{ pattern: /hello/i, failureMessage: "How come you've not said 'hello' yet?" } );
Este ejemplo crea lo siguiente: Valida un campo de texto con id sayHello e imprime el mensaje Hey there en caso de que la validacion sea correcta, en caso contrario imprimiria Don’t just ignore me, I wanna be your friend! , que valida? valida que lo escrito en el campo sea igual a hello en caso de que lo escrito no este correcto imprimiria How come you’ve not said ‘hello’ yet?
El codigo HTML seria:
<p> Say “hello”:<input class="LV_valid_field" id="sayHello" type="text"><span class="LV_validation_message LV_valid">Hey there!</span> <script type="text/javascript"> var sayHello = new LiveValidation('sayHello', { validMessage: 'Hey there!' }); sayHello.add(Validate.Presence, {failureMessage: "Don't just ignore me, I wanna be your friend!"}); sayHello.add(Validate.Format, {pattern: /hello/i, failureMessage: "How come you've not said 'hello' yet?" } ); </script> </p>
ver Ejemplos