Symfony“此值不能为空。”提交表单时

时间:2019-01-12 10:44:53

标签: php forms symfony symfony4

我正在尝试提交用户表格。但是该表单并不包含所有数据库字段,因为我想稍后设置密码(提交表单时)。

但是现在我收到错误消息,“密码”字段不应为空。删除表单验证无效,将它们添加为HiddenType也无效。

$form->isValid()检查后出现此错误

编辑:
FormBuilder

$form = $this->createFormBuilder($user)
            ->add('email', TextType::class, array(
                'label' => 'Email adres',
                'attr' => array(
                    'class' => 'input-field'
                )
            ))
            ->add('first_name', TextType::class, array(
                'attr' => array(
                    'label' => 'Voornaam',
                    'class' => 'input-field'
                )
            ))
            ->add('middle_name', TextType::class, array(
                'label' => 'Tussenvoegsel (optioneel)',
                'required' => false,
                'attr' => array(
                    'class' => 'input-field'
                )
            ))
            ->add('last_name', TextType::class, array(
                'label' => 'Achternaam',
                'attr' => array(
                    'class' => 'input-field'
                )
            ))
            ->add('date_of_birth', DateType::class, array(
                'label' => 'Geboortedatum',
                'attr' => array(
                    'class' => 'input-field'
                )
            ))
            ->add('save', SubmitType::class, array(
                'label' => 'Gebruiker Opslaan',
                'attr' => array(
                    'class' => 'form-submit-btn'
                )
            ))
            ->getForm();


提交表格:

$form->handleRequest($request);

        if($form->isSubmitted()){
            if($form->isValid()){
                dump($user);
                exit;
            }
        }

编辑:
在验证之前无法进行$user->setPassword('123');

2 个答案:

答案 0 :(得分:0)

您可以发布您的用户实体吗?

由于参数不允许为空,因此您可能会收到错误消息。 查看任何@Assert\NotBlanknullable = false注释。

答案 1 :(得分:0)

您可以显示您的用户类别吗?可以实现UserInterface吗?因此,有此验证。

相关问题