Мои ошибки формы Symfony всегда глобальны. Не связано с конкретной областью, как предполагается - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть форма Symfony, где я получаю ошибки, когда поля пустые.

Я уже пытаюсь установить error_bubbling на false, но он все еще не работает (и по умолчанию предполагается, что false)

Это мой код, где я удаляю все, что не нужно:

Контроллер:

/**
     * @Route("/add", name="add")
     */
    public function add(Request $request)
    {
        $post = new Post();
        $form = $this->createForm(PostType::class, $post);

        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) { } else { }

        return $this->render('blog/add.html.twig', array('form' => $form->createView()));
    }

Сущность:

/**
 * @ORM\Entity(repositoryClass="App\Repository\PostRepository")
 * @ORM\HasLifecycleCallbacks()
 */
class Post
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     * @Assert\NotBlank
     */
    private $Title;

    /**
     * @ORM\Column(type="text")
     * @Assert\NotBlank
     */
    private $Content;
    ...

Тип формы:

namespace App\Form;

use App\Entity\Post;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

class PostType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('title')
            ->add('content');
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => Post::class
        ]);
    }
}

Форма:

{% extends "base.html.twig" %}

{% block body %}
    <h2>
        Create a post
    </h2>

    {{ form_start(form) }}

        {{ form_widget(form) }}


        <input type="submit" class="btn" value="Create" />
    {{ form_end(form) }}
{% endblock %}

Когда я смотрю на объект после публикации, все ошибки связаны с формой, и в дочерних элементах нет ошибок (Поля формы).

Form image

Кто-нибудь знает, что может быть не так?

1 Ответ

2 голосов
/ 09 апреля 2019

В buildForm () вам нужно использовать заглавные буквы в своих полях. Они чувствительны к регистру, и они пишутся с заглавной буквы в вашей базе данных.

...