Как я могу с помощью форм Symfony 1.4 выдать ошибку sfValidatorError в валидаторе сообщений встроенной формы?
Моя родительская форма вызывает следующее:
public function configure(){
$this->embedForm('page', $pageLinkForm);
}
И моя встроенная форма:
public function configure(){
$this->validatorSchema->setPostValidator(new sfValidatorCallback(array(
'callback' => array($this, 'validateLink')
)));
}
public function validateLink($validator, $values) {
if (!empty($values['link']) && !empty($values['outside_link']))
throw new sfValidatorError($validator, 'Only specify either an internal link or an external link, but not both.');
}
Валидатор сообщений запускает validateLink, который выдает sfValidatorError, но он не отображается как глобальная ошибка, а форма isValid (), но не должна ' t be.
Почему ошибка игнорируется? Как я могу сделать так, чтобы она не игнорировалась?
в sf1.1 Я делаю это так:
public function bind(array $taintedValues = null, array $taintedFiles = null)
{
sfLoader::loadHelpers(array('I18N'));
parent::bind($taintedValues, $taintedFiles);
if($taintedValues["password"])
{
if(!$taintedValues["pwd_verify"])
{
$this->getErrorSchema()->addError(new sfValidatorError(new sfValidatorSchema(), __('Please reenter the new password.')), 'password');
}
}
}
Надеюсь, это вам поможет.