非映射字段在需要时有效且为空

时间:2018-04-26 12:51:27

标签: symfony symfony-forms symfony-3.2

我有一个非映射和必需的字段。

$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()方法不应该返回

1 个答案:

答案 0 :(得分:1)

正如您在docs中看到的那样:

如果为true,将呈现HTML5必需属性。相应的标签也将使用必需的类进行渲染。

这是肤浅的,独立于验证。最好的情况是,如果您让Symfony猜测您的字段类型,那么将从您的验证信息中猜出此选项的值。

因此,正如您所看到的,它只是关于客户端验证。