Reglas en cascada
CodeIgniter nos permite definir reglas en cascada concatenando dichas reglas con el carácter ''|'' (como si fueran las típicas tuberías de programación) Vamos a cambiar las reglas del ejemplo anterior por las siguientes:
$this->form_validation->set_rules ( 'email', 'Email', 'required|valid_email');
$this->form_validation->set_rules ('contrasenya',
'Contraseña',
'required|min_length[5]|max_length[10]|matches[recontrasenya]');
$this->form_validation->set_rules ('recontrasenya',
'Confirme contraseña', 'required');
El código anterior establece las siguientes reglas:
- El email es un campo requerido y además debe ser una cuenta de correo válida
required | valid_email
El campo contraseña es requerido, tiene que tener una longitud mayor que 5 y menor que 10 y su valor debe ser igual al campo 'recontraseña' (comprobación de confirmación de contraseña)
required | min_length[5] | max_length[10] | matches[recontrasenya]
La confirmación de la contraseña es requerida.
required
Si ahora volvemos a probar introduciendo datos no válidos (una cuenta de correo no válida, contraseñas distintas, etc) nos mostrará el mensaje de error correspondiente.