
Al utilizar la extensión JqValidate
para validar los datos introducidos en un formulario, el código de validación que se usará utiliza la extensión jQuery.Validate
. No será necesario que programes los algoritmos de validación, sino que indiques qué reglas se deberán aplicar a cada uno de los campos del formulario. Esto se hace utilizando el método _rules
.
Para indicar las reglas, se pasa como parámetro un array, que contendrá tantos elementos como campos a validar. Para cada uno de estos campos se crea un nuevo array, que contendrá las reglas de dicho campo. Cada una de las reglas se compone en base a los distintos métodos de validación que incorpora la extensión de JavaScript jQuery.Validate
.
El código PHP
necesario para validar nuestro formulario será:
<?php
echo YsJQuery::newInstance()
->onClick()
->in("#enviar")
->execute(
YsJQValidate::build()->in('#miForm')
->_rules(
[
'usu' => ['required' => true, 'minlength' => 4],
'mail' => ['required' => true, 'email' => true],
'pass2' => ['required' => true, 'minlength' => 6, 'equalTo' => '#pass1']
]
)
);
?>
Fíjate que la asociación del código con el evento onClick
del botón se sigue haciendo como antes.
Si revisas el código JavaScript
que se genera en la página HTML
, observarás lo siguiente:
/* <![CDATA[ */
jQuery('#enviar').click(function(){
jQuery('#miForm').validate(
{"rules": {
"usu": {"required": true,"minlength": 4},
"mail": {"required": true,"email": true},
"pass1": {"required": true,"minlength": 6,"equalTo": "#pass2"}
}
})})
/* ]]> */
Como ves, todo se sigue traduciendo en llamadas a la librería jQuery
de JavaScript
. Además, una de las grandes ventajas de este método es que una vez definidas las reglas de validación en PHP
, todo el código que se ejecuta para verificarlas es JavaScript
. Si el navegador soporta la ejecución de código en lenguaje JavaScript
, no es necesario establecer ningún tipo de tráfico de validación con el servidor web.
Revisa el código obtenido y comprueba su funcionamiento. Solo está el fichero "login.php"
se entiende que has instalado como en el ejemplo anterior las librerías necesarias, manualmente o con Composer
.