2016-06-14 4 views
7

Ich versuche, mein Projekt von symfony2 zu symfony3 zu aktualisieren. Ich will die Befreiung von dieser deprecation WarnungSymfony: cascade_validation Option ist veraltet

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

Unten ist mein Code

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

Kann ich diese Linie nur um entfernen 'cascade_validation' => true ohne irgendwelche Probleme verursacht? Oder was wäre der entsprechende Code in symfony3?

+1

aus dem [Migrationsleitfaden] (https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md#form): 'Die Option cascade_validation wurde entfernt. Verwenden Sie stattdessen die Constraints-Option zusammen mit der Valid-Einschränkung – Matteo

Antwort

0

Die Fehlermeldung besagt, dass Sie Validierung für eine Entität durchführen müssen, aber von Ihrem Code bin ich nicht sicher, was Ihre Entitäten sind. Dieser Link erklärt die Valid annotation for an Entity.

Aber Sie sollten in der Lage sein, "cascade_validation = = true" aus Ihrem Formular zu entfernen. Ich mache mir Sorgen, dass Sie immer noch andere Fehler bekommen könnten.

Versuchen Sie es und sehen, was passiert. Sie könnten auch diese Validation tutorial als Referenz überprüfen.

8

Ersetzen Sie einfach

 
'cascade_validation' => true, 

with 

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