2016-03-18 38 views
0

Form türü adımdaki özel alana doğrulamayı devre dışı bırak İki form türü oluşturdum. İlk olarak, name ve url var. İkincisi ise description var. $description boş olduğu için Symfony

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

Ben ilk formu göndermek için deneyin

, bu doğrulanmaz.

Ancak ilk formda açıklama alanı yok.

cevap

3

Ne arıyorsunuz doğrulama grupları (ve http://symfony.com/doc/current/book/forms.html#validation-groups).

Temel olarak sizin durumunuz için iki doğrulama grubunu tanımlamanız ve bunların her birini form türünüzde ayarlamanız gerekir.

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'] 
    )); 
}