У меня есть форма 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 %}
Когда я смотрю на объект после публикации, все ошибки связаны с формой, и в дочерних элементах нет ошибок (Поля формы).
Кто-нибудь знает, что может быть не так?