Skip to content

Latest commit

 

History

History
67 lines (50 loc) · 1.57 KB

UPGRADE-2.8.md

File metadata and controls

67 lines (50 loc) · 1.57 KB

UPGRADE FROM 2.7 to 2.8

Form

  • The "cascade_validation" option was deprecated. Use the "constraints" option together with the Valid constraint instead. Contrary to "cascade_validation", "constraints" must be set on the respective child forms, not the parent form.

    Before:

    $form = $this->createForm('form', $article, array('cascade_validation' => true))
        ->add('author', new AuthorType())
        ->getForm();

    After:

    use Symfony\Component\Validator\Constraints\Valid;
    
    $form = $this->createForm('form', $article)
        ->add('author', new AuthorType(), array(
            'constraints' => new Valid(),
        ))
        ->getForm();

    Alternatively, you can set the Valid constraint in the model itself:

    use Symfony\Component\Validator\Constraints as Assert;
    
    class Article
    {
        /**
         * @Assert\Valid
         */
        private $author;
    }

Translator

  • The getMessages() method of the Symfony\Component\Translation\Translator was deprecated and will be removed in Symfony 3.0. You should use the getCatalogue() method of the Symfony\Component\Translation\TranslatorBagInterface.

    Before:

    $messages = $translator->getMessages();

    After:

     $catalogue = $translator->getCatalogue($locale);
     $messages = $catalogue->all();
    
     while ($catalogue = $catalogue->getFallbackCatalogue()) {
         $messages = array_replace_recursive($catalogue->all(), $messages);
     }