2

送信されたフォームにフォームクラス内にエラーがあったかどうかを知るためのSymfony1.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 に答える