2 つのフィールドを含む単純なフォームがあります。最初のフィールドは単なる選択で、2 番目のフィールドには値が含まれており、最初のフィールドを使用してチェックする必要があります。
2 つのフィールドに基づく Symfony2 フォームの検証に関する同様の質問を見つけ、 Callbackバリデーターを使用しようとしました。ドキュメント
を読みましたが、データベースにアクセスして使用する方法がわかりません。
唯一の方法は検証メソッドを静的に呼び出すことのようですが、この場合、コントローラーのコンテキストが失われます。たとえば、データベースにアクセスするために必要です。
この関係で、私は Silex を使用しており、Silex が提供するサービスにアクセスしたいと考えています。
フォームはどのクラスにもマップされていないため、他のフィールドをバリデーターに渡す方法が見当たらないため、独自の制約を作成するのは間違っているように見えます。
それを達成する方法はありますか?
または、別のアプローチが必要ですか?