2

Symfony 1.4 中是否有一种简单的方法可以知道提交的表单在表单类中是否有任何错误?我熟悉$form['some_field']->hasErrors()for 模板,但在这种情况下,我只想在表单与标准验证器没有任何错误的情况下运行后验证器。我基本上是在追求类似的东西:

public function configure() {

  // widgets

  // standard validators

  if (!this->hasErrors()) {
    // run post-validator
  }

}

API 文档和往常一样神秘。提前致谢。

4

1 回答 1

2

由于验证是在bind调用时执行的,因此我看不到其他地方可以在错误时发布验证,而不是在bind函数中。因此,在您的表单类中:

public function bind(array $taintedValues = null, array $taintedFiles = null)
{
  parent::bind($taintedValues, $taintedFiles);

  if ($this->hasErrors())
  {
    // do post validate
    // you can access values from your form using $taintedValues
  }
}

但是您将不得不手动调用验证器,而不是仅仅定义一个新的验证器(因为绑定过程已经完成)。

于 2012-06-15T09:33:28.080 回答