2012-04-25 16 views
12

To jak ja obecnie aktywować błędy na moich formularzy:Form-wide błąd_błędny w Symfony 2?

public function buildForm(FormBuilder $builder, array $options) 
{ 
    $builder 
     ->add('title', null, array('error_bubbling' => true)) 
     ->add('content', null, array('error_bubbling' => true)) 
    ; 
} 

Czy istnieje wersja forma szerokości?

+0

byłbym zainteresowany odpowiedzią na to ... Spojrzałem na niego krótko przed i IIRC, próbowałem 'FormBuilder :: setErrorBubbling() '; jednak nie pamiętam, żeby działało. * Myślę, że * jest to ustawienie, które mówi o błędach podformularzowych, aby mogły być wyświetlane rodzicowi, ale mogę się mylić. –

Odpowiedz

3

Nie. Zazwyczaj nie trzeba tworzyć bąbelków błędów w formularzu nadrzędnym. Jeśli chcesz wyświetlić wszystkie błędy w jednym miejscu, możesz to zrobić w szablonie.

+24

To z pewnością jest do bani ... nie pytam o wyświetlanie błędów, ale włączam wyjście błędów, aby getErrors() nie było puste. – vinnylinux

+3

szkoda, to jest poprawna odpowiedź ... – NDM

1

Jeśli używasz poprawnie typy postaci (może nie pozwól symfony odgadnąć go), to powinieneś dostać błędzie pęcherzyków domyślnie jak widać tutaj:

http://symfony.com/doc/current/reference/forms/types/text.html#error-bubbling

Jeśli jednak używasz niestandardowego typ formularza możesz ustawić domyślny error_bubbling domyślnie z configureOptions

final class CustomFormType extends AbstractType 
{ 
    /** {@inheritdoc} */ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     ... 
    } 

    /** {@inheritdoc} */ 
    public function configureOptions(OptionsResolver $resolver) 
    { 
     $resolver->setRequired('label'); 
     $resolver->setDefaults([ 
      'error_bubbling' => false, 
      'compound' => true, 
     ]); 
    } 
}