我有一个非映射和必需的字段。
$builder->add('termsAndConditions', CheckboxType::class, [
'required' => true,
'mapped' => false,
'attr' => [
'class' => 'c-custom-option',
],
]);
客户端验证在空时会抛出错误,但是服务器端认为它有效。目前我对表单提交$form->isSubmitted() && $form->isValid() && $form->get('termsAndConditions')->getData()==true
进行了额外检查,但在我看来,form-> isValid()方法不应该返回
答案 0 :(得分:1)
正如您在docs中看到的那样:
如果为true,将呈现HTML5必需属性。相应的标签也将使用必需的类进行渲染。
这是肤浅的,独立于验证。最好的情况是,如果您让Symfony猜测您的字段类型,那么将从您的验证信息中猜出此选项的值。
因此,正如您所看到的,它只是关于客户端验证。