3

$validator->validate( $class );Symfony2 Validation Serviceは、$errorクラスを返す前にすべての検証チェックを実行しているようです。halt_on_failureこれは通常は問題ありませんが、特定のプロパティが失敗するとPHP、進行中の検証チェックでエラーが発生するため、機能を探しています。

Symfony-1 で があったことはかなりよく文書化されていますが、halt_on_errorこれが Symfony2 でどのように機能するかはわかりません。私はそれへの参照を見つけましたが、例はありません。

ここに同様の質問があります

4

1 に答える 1

0

この問題に対する 2 つの解決策が見つかりました。

  1. グループの使用Richard Miller は、SF2 Validation with Groups の優れた要約を書きました。基本的に、私が行ったことは、最初の検証ステップにラベルを付け、 Step1残りのステップをそのままにしておきました。次に、次のように Validator サービスにリクエストを行います。

    $this->validator->validate($class, array('step1', 'Default'));

  2. 追加の IF ステートメント。私の状況では、検証に API を使用していたので、API リクエストを無駄にしないように、入力が正確であることを確認したかったのです。IF ステートメントを使用して、API 要求とreturn false.

私が選択したこととその理由

ステップ 2 を選択します。ステップ 1 はおそらく検証テクノロジをより適切に使用していましたが、追加する必要がある追加のグループ パラメーターについてはあまり気にしませんでした。それはコード保守責任でした。Symfony2.2 のようですが、halt_on_error機能があり、このソリューションはその時点で更新する必要があります。

于 2012-11-27T15:10:49.003 に答える