フォーム内で cascade_validation を使用しようとしていますが、機能しません。質問のコレクションを持つエンティティ Formulario があるので、次のように Formulario フォーム内に質問フォームを挿入します。
class FormularioType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nombre')
->add('preguntasPonderadas', 'collection', array(
'type' => new QuestionType(),
'allow_add'=>true,
'allow_delete'=>true,
'cascade_validation'=>true,
))
;
}
}
エンティティの質問には、次のようなアサートがあります。
class Question
{
/**
* @var integer
*
* @Assert\Range(
* min = 1,
* max = 5,
* minMessage = "El valor mínimo es 1",
* maxMessage = "El valor máximo es 5"
* )
*
* @ORM\Column(name="peso", type="integer")
*
*/
private $peso;
}
問題は、質問フォームから質問を作成すると質問エンティティの範囲アサートが機能することですが、フォーミュラリオ フォーム内で質問を作成すると機能せず、範囲外の数値を許可します。cascade_validation を使用しなくても、空のフィールド制約は機能し、無効な型も機能します (たとえば、手紙を書いた場合)。
問題は、フォーミュラリオ フォームから範囲制約が機能しないことです。
何か案が??どうもありがとう!!!!