par
Ganesh » 18 juin 2010, 11:45
Bon, en fait, j'étais complètement à côté de la plaque dans la recherche du bug qui se trouvait finalement au niveau du postValidator. J'avais la fonction callback suivante sans la partie commentée :
public function checkLoginAvailability($validator, $values) {
if(!empty($values['login']) && $values['login']!=$this->getOption('login')) {
$nbr = Doctrine_Core::getTable('manager')->isExisting('login', $values['login'])->count();
if(!$nbr) {
return $values;
}
else {
throw new sfValidatorError($validator, 'Login already used');
}
}
/*else {
return $values;
}/*
}
Du coup, quand je ne modifiais pas le login, aucune valeur n'était retournée et la méthode processValues() ne recevait aucune valeur. J'ai découvert ce problème en commentant la redirection dans la méthode processForm(), ce qui m'a permis de découvrir des messages d'erreur que je n'avais pas sans cela.
Bon, en fait, j'étais complètement à côté de la plaque dans la recherche du bug qui se trouvait finalement au niveau du postValidator. J'avais la fonction callback suivante sans la partie commentée :
[php]public function checkLoginAvailability($validator, $values) {
if(!empty($values['login']) && $values['login']!=$this->getOption('login')) {
$nbr = Doctrine_Core::getTable('manager')->isExisting('login', $values['login'])->count();
if(!$nbr) {
return $values;
}
else {
throw new sfValidatorError($validator, 'Login already used');
}
}
/*else {
return $values;
}/*
}[/php]
Du coup, quand je ne modifiais pas le login, aucune valeur n'était retournée et la méthode processValues() ne recevait aucune valeur. J'ai découvert ce problème en commentant la redirection dans la méthode processForm(), ce qui m'a permis de découvrir des messages d'erreur que je n'avais pas sans cela.