在我的表单中,我有一个必填选项设置为 false 的字段,该字段是可选的。
但是,我希望在使用该字段时对该字段进行 notBlank 验证:
@Assert\NotBlank(
* message="The name field can't be blank",
* groups={"flow_poemDataCollector_step1"}
* )
现在,我不能使用验证约束 NotBlank,因为当字段未使用时,它会导致我的表单验证失败。
我尝试在 onPostBindRequest 侦听器的字段中添加一个随机值,但它很复杂并且无法让它工作。我不确定这是否是正确的方法。
这是我尝试过的:($form 是 Symfony\Component\Form\FormInterface 对象)
$form = $event->getForm();
$formData = $form->getData();
$formData->setUserName("foo");
$form = $form->setData($formData);
但后来我收到一个错误,我无法在未绑定的表单上调用 isValid()。
我怎样才能实现我的目标?IE。仅在某些情况下验证字段。