2016-03-18 17 views
0

私は自分のエンティティでアサーションを設定しました。 私は2つのフォームタイプを作成しました。 最初はnameurlです。第二に私はdescriptionを持っています。フォームタイプのステップでカスタムフィールドにアサーションを無効にするSymfony

/* 
*@Assert/NotBlank() 
*/ 
$description; 

私が最初にフォームを送信しようとすると$descriptionが空白なので、それは検証されません。

最初の形式では、説明フィールドはありません。

答えて

3

あなたが探しているのは、検証グループ(とhttp://symfony.com/doc/current/book/forms.html#validation-groups)です。

基本的には、2つの検証グループを定義し、それぞれをフォームタイプに設定する必要があります。

YourEntity

/** 
* @Assert\NotBlank(groups={"FirstForm"}) 
*/ 
private $name; 

/** 
* @Assert\NotBlank(groups={"FirstForm"}) 
*/ 
private $url; 

/** 
* @Assert\NotBlank(groups={"SecondForm"}) 
*/ 
private $description; 

FirstFormType

public function configureOptions(OptionsResolver $resolver) 
{ 
    $resolver->setDefaults(array(
     'validation_groups' => ['Default', 'FirstForm'] 
    )); 
} 

SecondFormType

public function configureOptions(OptionsResolver $resolver) 
{ 
    $resolver->setDefaults(array(
     'validation_groups' => ['Default', 'SecondForm'] 
    )); 
} 
関連する問題