Symfony - 如果选中该复选框,则禁用必填字段



我在Symfony上有一个表单。 我的表单由文本输入和复选框组成。

如果用户选中该框,则输入文本将被禁用(我使用javascript(。 但是,如果用户未选中该框,则必须填写输入文本。如果他勾选了方框,他就不必这样做。

这是我的表格:

$formBuilder
->add('text',      TextType::class,array(
'required' => true,
'constraints' => array(
new NotBlank()
)))
->add('box',      CheckboxType::class, array(
'mapped' => false,
'label' => 'Box'
))
;

我正在寻找一种在选中该框时禁用文本输入验证的方法。 如果选中复选框,如何忽略输入文本验证?

你知道怎么做吗? 谢谢!

在这种情况下,您需要一个自定义的 contraint。您应该使用 javascript 将字段标记为非必填字段,并显示星号 (*( 表示必需字段。对于后端,需要创建自定义约束。请参阅symfony文档:https://symfony.com/doc/current/validation/custom_constraint.html

最新更新