複数選択のエンティティ フィールド タイプがあります。
$builder
->add('products', 'entity', array(
'class' => 'Acme\MyBundle\Entity\Product',
'choices' => $this->getAvailableProducts(),
'multiple' => true,
))
;
このフィールドに最小/最大の制約を追加したいのですが、
use Symfony\Component\Validator\Constraints\Choice;
...
'constraints' => array(new Choice(array(
'min' => $min,
'max' => $max,
'multiple' => true,
'choices' => $this->getAvailableProducts()->toArray(),
))),
しかし、この場合、フォームがバインドされると、'products' フィールドにバインドされる値はドクトリン ArrayCollection になり、配列が指定されていない場合、バリデーターは例外をスローします。「配列型の引数が必要ですが、オブジェクトが指定されました」
最小/最大制約を使用するには、「選択」フィールドを使用する必要があるということですか?