Ошибки формы Symfony3 не отображаются(просто notNull / notBlank), остальные работают

Я пытаюсь проверить форму symfony3, я использую два ограничения для каждого поля сущности (NotBlank и Float). Сообщение об ошибке Float-ограничения отображается правильно, так как сообщения об ошибках NotBlank отображаются только для всей формы(глобальные ошибки), а не для каждого отдельного файла. Кроме того, я пытался использовать NotNull вместо NotBlank, это не помогло мне.

Ниже я скопировал / вставил фрагменты кода.

class ParametersType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('variable_sheer_header',  NumberType::class, [
                'label' => 'parameters.variable_sheer_header',
                'error_bubbling' => true ,
                'attr' => [
                    'placeholder' => 'parameters.variable_sheer_header',
                    "class" => 'form-control'
                ],
            ])
            ->add('variable_sheer_hem',     NumberType::class, [
                'label' => 'parameters.variable_sheer_hem',
                'error_bubbling' => true ,
                'attr' => [
                    'placeholder' => 'parameters.variable_sheer_hem',
                    "class" => 'form-control'
                ],
            ])
            ->add('variable_sheer_overlap', NumberType::class, [
                'label' => 'parameters.variable_sheer_overlap',
                'error_bubbling' => true ,
                'attr' => [
                    'placeholder' => 'parameters.variable_sheer_overlap',
                    "class" => 'form-control'
                ],
            ])
    ...

use DoctrineODMMongoDBMappingAnnotations as MongoDB;
use SymfonyComponentValidatorConstraints as Assert;

/**
 * @MongoDBEmbeddedDocument()
 */
class ParametersEmbedded
{
    /**
     * @var float
     *
     * @AssertType(type="float", message="parameters.field.not.float")
     * @AssertNotBlank(message="parameters.field.not.empty")
     *
     * @MongoDBField(type="float")
     */
    protected $variableSheerOverlap;

    /**
     * @var float
     *
     * @AssertNotNull(message="parameters.field.not.empty")
     * @AssertType(type="float", message="parameters.field.not.float")
     *
     * @MongoDBField(type="float")
     */
    protected $variableSheerRod;

-#index.html.haml



= form_start(form)
.settings-form
  %p.title-form= 'user.parameters'|trans
  .row
    .col-xs-4
      %h4.parameters-group-name='parameters.variable_sheer'|trans
      = form_row(form.variable_sheer_hem)
      = form_errors(form.variable_sheer_hem)
      = form_row(form.variable_sheer_overlap)
      = form_errors(form.variable_sheer_overlap)
      = form_row(form.variable_sheer_rod)
      = form_errors(form.variable_sheer_rod)
      = form_row(form.variable_sheer_header)
      = form_errors(form.variable_sheer_header)
    .col-xs-4
      %h4.parameters-group-name='parameters.other'|trans
      = form_row(form.other_hem)
      = form_errors(form.other_hem)
      = form_row(form.other_overlap)
      = form_errors(form.other_overlap)
      = form_row(form.other_rod)
      = form_errors(form.other_rod)
      = form_row(form.other_header)
      = form_errors(form.other_header)
    .col-xs-4
      %h4.parameters-group-name='parameters.shade'|trans
      = form_row(form.shade_add_hem_length)
      = form_errors(form.shade_add_hem_length)
      = form_row(form.shade_add_hem_width)
      = form_errors(form.shade_add_hem_width)
= form_row(form.submit)ubmit)
= form_end(form)

// Controller


public function profileParametersAction(Request $request)
{
     $form = $this->createForm(ParametersType::class);
     $form->handleRequest($request);
  
     if ($form->isValid()) {
         $this->getUser()->setParameters($form->getData());
         $this->getDM()->flush();
         $this->addFlash('success', 'user.profile.parameters.changed');
     }

     return $this->render('AppBundle:Profile:parameters.html.haml', [
       'form' => $form->createView()
     ]);
}

1 ответ