Tengo una regla de validación personalizada para verificar si dos contraseñas ingresadas son iguales, y si no son así, deseo tener un mensaje que diga "Las contraseñas no coinciden".cakephp Mensaje de regla de validación personalizada
La regla funciona, sin embargo, cuando las contraseñas no coinciden simplemente muestra el mensaje de error normal, ¿qué está pasando?
var $validate=array(
'passwd2' => array('rule' => 'alphanumeric',
'rule' => 'confirmPassword',
'required' => true,
'allowEmpty'=>false));
function confirmPassword($data)
{
$valid = false;
if (Security::hash(Configure::read('Security.salt') .$data['passwd2']) == $this->data['User']['passwd'])
{
$valid = true;
$this->invalidate('passwd2', 'Passwords do not match');
}
return $valid;
}
dice "Este campo no puede dejarse en blanco"
EDIT:
Lo extraño es que, si dejo uno de los campos de contraseña en blanco, dicen los dos mensajes de error "Este campo no puede se deja en blanco"
sin embargo, si pongo algo en ambos, entonces se dice correctamente 'las contraseñas no coinciden'
Oh, yo no sabía puede especificar mensaje de error como una opción en el asistente de formulario, eso simplifica mucho las cosas! –
Está en el libro de cocina - http://book.cakephp.org/view/1401/options-error. Tenga en cuenta que las etiquetas para los campos 'confirm_password' y 'password' están conmutadas. – bancer