質問: Symfony2のフォームで非エンティティフィールドを検証する最良の方法は何ですか? タイトルが示唆しているように、フォームに選択フィールド(ラジオhtml入力)があります。このフィールドには、ユーザーが処理を進める前に選択が必要です。 私はバンドルのvalidate.ymlファイルにバリデーションを追加しようとしましたが(フィールドが有効なエンティティフィールドではないというエラーがスローされます)、バリデータを直接Validatorクラスは `FormValidatorInterface` を実装していないため、Exceptionを受け取りました(コードは以下のとおりです)。 ``` $builder->addValidator(new CallbackValidator(function(FormInterface $form) { if(!$form['has_subalbums']->getData()) { $form->addError(new FormError('Please indicate sub albums')); } })); ``` エンティティ以外のフィールドを検証する正しい方法は何ですか?
回答: 試してください: > > use Symfony\Component\Form as Form; [...] > > > > ``` > $builder->addValidator(new Form\CallbackValidator(function($form) { > if(!$form['has_subalbums']->getData()) > { > $form->addError(new Form\FormError('Please indicate sub albums')); > } > })); > > ``` > >