2

私はembededFormsを含むフォームウィッチを持っています。

ポストバリデータ:

$this->validatorSchema->setPostValidator(
  new sfValidatorCallback(
    array('callback' => array($this, 'myPostValidator'))
  )
);

myPostValidator メソッドでエラーをスローします。

$error = new sfValidatorError($validator, 'invalid ' . $values['embededform1']['field']);
throw new sfValidatorErrorSchema($validator, array('field' => $error));

root-form のグローバル エラーが表示されるようになりました。

正しいフィールドの横にエラーを表示したい。

$values['embededform1']['field']
4

2 に答える 2

1

私の最初の提案は、投稿バリデーターを埋め込みフォームに追加することです。埋め込み中にバリデーターがコンテナー フォームにコピーされ、例外をスローするコードが期待どおりに動作するはずです。

別の方法として、コンテナー フォームのコールバックで次のことを試すことができます。

$error = new sfValidatorError($validator, 'invalid');
$errorschema = new sfValidatorErrorSchema($validator, array('field' => $error));
throw new sfValidatorErrorSchema($validator, array('embeddedformname' => $errorschema));
于 2011-06-16T08:24:44.633 に答える
0
$error = new sfValidatorError($validator, 'invalid');
$errorschema = new sfValidatorErrorSchema($validator, array('field' => $error));
throw new sfValidatorErrorSchema($validator, array('embeddedformname' => $errorschema));

これは私のために働いた。

于 2012-02-05T07:43:06.263 に答える