[英]Symfony 3: GroupSequence validation groups ignored in validation of form
我想使用組驗證來驗證表單,因此我定義了兩個驗證組。 僅當第一組尚未導致違規時,才應驗證第二組。 所以我這樣做了:
$form = $this->createFormBuilder(null,array('validation_groups' => new GroupSequence(array('group1','group2'))))
->add('email', EmailType::class,array('constraints' => array(
new Assert\Email(array('groups' => array('group1'))),
new Assert\NotBlank(array('groups' => array('group1'))),
new CustomAssert\AlreadyRegistered(array('groups' => array('group2'))))))
->add('submit',SubmitType::class,array())
->getForm();
但顯然沒有任何約束被驗證,無論我在電子郵件字段中輸入什么,表單都是有效的。
怎么了?
根據3.2文檔,您不需要在validation_groups
下啟動新的GroupSequence
對象。 嘗試這個:
$form = $this->createFormBuilder(null, array(
'validation_groups' => array('group1','group2')
))
->add(
'email',
EmailType::class,
array(
'constraints' => array(
new Assert\Email(array('groups' => array('group1'))),
new Assert\NotBlank(array('groups' => array('group1'))),
new CustomAssert\AlreadyRegistered(array('groups' => array('group2')))
)))
->add(
'submit',
SubmitType::class
)
->getForm();
參考: http : //symfony.com/doc/current/form/validation_groups.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.