我在控制器中有表单生成器
$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
约束,并且表单也不会提交。我尝试将required
设置/添加到FALSE
无效。
我什至尝试添加new Blank()
约束,但仍然保持默认约束。
是否可以删除此默认notBlank
约束??
答案 0 :(得分:0)
感谢@AythaNzt的评论。因此,约束在我的“用户实体”类中声明了一个注释
就是这个
/**
* @Assert\NotBlank()
* @Assert\Length(max=4096)
*/
private $plainPassword;
删除了NotBlank()
成为
/**
* @Assert\Length(max=4096)
*/
private $plainPassword;