2016-06-14 9 views
7

Sto provando ad aggiornare il mio progetto da symfony2 a symfony3. Voglio sbarazzarsi di questo deprecazione avvertimentoSymfony: l'opzione cascade_validation è deprecata

The "cascade_validation" option is deprecated since version 2.8 and will be removed in 3.0. Use "constraints" with a Valid constraint instead." 

Qui di seguito è il mio codice

->add('student_name', 'collection', array(
       'entry_type' => TextType::class, 
       'allow_add' => true, 
       'cascade_validation' => true, 
       'options' => array(
        'required' => false 
       ) 
      )) 

Posso rimuovere questa riga 'cascade_validation' => true senza causare alcun problema? O quale sarebbe il codice equivalente in symfony3?

+1

Dal [guida alla migrazione] (https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md#form): 'L'opzione cascade_validation è stata rimossa. Utilizzare invece l'opzione vincoli insieme al vincolo valido – Matteo

risposta

0

Il messaggio di errore indica che si esegue la convalida su un'entità, ma dal codice non sono sicuro di quali siano le entità. Questo collegamento spiega Valid annotation for an Entity.

Ma dovresti riuscire a rimuovere "cascade_validation '=> true" dal modulo. Sono preoccupato che potresti ancora ottenere altri errori.

Provalo e guarda cosa succede. Si consiglia inoltre di rivedere questo Validation tutorial come riferimento.

8

Basta sostituire

 
'cascade_validation' => true, 

with 

'constraints' => new \Symfony\Component\Validator\Constraints\Valid(), 
Problemi correlati