Symfony 4 删除 RepeatedType 密码字段上的默认设置约束(notBlank)

Symfony 4 Remove a default set constraint (notBlank) on a RepeatedType Password field

我在控制器中有表单生成器

$form = $this->createFormBuilder($user)

                 ->add('firstname',TextType::class,array(
                     'label' => 'First name',
                     'attr' => array(
                         'class' => 'form-control',
                         'value' => $user->getFirstname()
                     ),
                 ))
                 ->add('surname',TextType::class,array(
                     'label' => 'Last name',
                     'attr' => array(
                         'class' => 'form-control',
                         'value' => $user->getSurname()
                     )
                 ))
                 ->add('email', EmailType::class, array(
                     'label' => 'Email',
                     'attr' => array(
                         'class' => 'form-control',
                         'value' => $user->getEmail(),
                     ),
                 ))
                 ->add('plainPassword', RepeatedType::class, array(

                     'type' => PasswordType::class,
                     'invalid_message' => 'The password fields must match.',
                     'options' => array('attr' => array('class' => 
                        'password-field')),

                     'first_options'  => array('label' => 'Password'),
                     'second_options' => array('label' => 'Repeat 
                      Password'),
                 ))

如您在 plainPassword 字段中所见,未设置任何限制。我的意图是让用户不需要填写此字段(如果他们不想填写),但是当我提交表单时, NotBlank 约束被触发并且表单没有被提交。我试过setting/adding、requiredFALSE,都不行。

我什至尝试添加 new Blank() 约束,但它仍然保持默认约束。

有没有办法删除这个默认的notBlank限制??

约束启动的屏幕截图

感谢@AythaNzt 的评论。所以约束在我的 'user Entity' class

上断言了一个注释

就是这个

 /**
 * @Assert\NotBlank()
 * @Assert\Length(max=4096)
 */
private $plainPassword;

删除了 NotBlank() 于是变成了

/**
 * @Assert\Length(max=4096)
 */
private $plainPassword;