Ho una regola di convalida personalizzata per verificare se due password immesse sono uguali e, se non lo sono, desidero avere un messaggio che dice "Le password non corrispondono".cakephp Messaggio di regola di convalida personalizzata
La regola funziona, tuttavia, quando le password non corrispondono, viene visualizzato semplicemente il messaggio di errore normale, che succede?
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;
}
si dice "Questo campo non può essere lasciato vuoto"
EDIT:
La cosa strana è, se lascio uno dei campi password vuoti, entrambi i messaggi di errore dicono "Questo campo non può essere lasciato vuoto"
Tuttavia, se metto qualcosa in entrambi, poi si dice correttamente 'le password non corrispondono'
Oh non sapevo è possibile specificare il messaggio di errore come opzione in forma di supporto, questo semplifica molto le cose! –
È nel ricettario - http://book.cakephp.org/view/1401/options-error. Si noti che le etichette per i campi "confirm_password" e "password" vengono cambiate. – bancer