2017-07-27 38 views

回答

1

您需要創建一個新的驗證組,覆蓋FOSUser的表單並在其中應用您的新驗證組。

override FOSUser form

如果你的對象利用確認團組的,你需要指定驗證組(S)的形式應該使用:

$form = $this->createFormBuilder($users, array(
    'validation_groups' => array('registration'), 
))->add(...); 

如果您正在創建表單類(一個很好的做法),那麼你就需要將以下添加到configureOptions()方法:

use Symfony\Component\OptionsResolver\OptionsResolver; 
public function configureOptions(OptionsResolver $resolver) 
    { 
     $resolver->setDefaults(array(
      'validation_groups' => array('registration'), 
     )); 
    } 

https://symfony.com/doc/current/validation/groups.html

請注意,FOSUser使用XML格式的驗證描述,並且不能覆蓋驗證文件,只能創建一個新的驗證組並使用自己的表單。