如何解决Symfony表单未显示正确的错误正在星座图上
我对表格的约束检查和错误的正确显示有疑问。
问题描述
该表单具有三个复选框,其中两个是用户必须检查的复选框(接受“条款和条件”材料)。
- 如果仅一个强制性复选框(第一个或第二个)未选中,则错误显示正确
- 如果两个必选复选框均未选中,则不会显示任何错误
分析已经完成
- 遍历错误link表明没有错误
- 如果我在表单中添加了一个额外的文本字段,上述问题就会消失(但我不希望该字段)。
BookingTermsAndConditionsFormType.php
class BookingTermsAndConditionsFormType extends AbstractType {
public function buildForm(FormBuilderInterface $builder,array $options) {
$builder
->add('checkbox1',CheckboxType::class,[
'label' => 'accept <a href="#" target="_blank">Terms and Conditions</a>.*','label_html' => true,'label_attr' => ['class' => 'switch-custom'],'constraints' => [
new IsTrue([
'message' => 'Accepting Terms and Conditions are mandatory.',]),],])
->add('checkbox2',[
'label' => 'accept <a href="#" target="_blank">privacy policy</a>*','constraints' => [
new IsTrue([
'message' => 'Accepting privacy policy is mandatory.',])
->add('checkbox3',[
'label' => 'I want the newsletter.',]);
}
public function configureOptions(OptionsResolver $resolver) {
$resolver->setDefaults([]);
}
}
_formTermsAndConditions.html.twig
{{ form_start(bookingTermsAndConditionsForm,{
attr: {
class: 'form-general',novalidate: 'novalidate',id: 'form_booking_terms_and_conditions'
}
}) }}
<div class="row">
<div class="col-10 offset-2">
<div>
{{ form_row(bookingTermsAndConditionsForm.checkbox1) }}
{{ form_row(bookingTermsAndConditionsForm.checkbox2) }}
{{ form_row(bookingTermsAndConditionsForm.checkbox3) }}
</div>
</div>
</div>
{{ form_end(bookingTermsAndConditionsForm) }}
问题
这是怎么了?
解决方法
请在这里找到我的解决方法。
我添加了一个附加字段,并使用了HiddenType
。这使形式错误可以正常工作。不要问我为什么...
BookingTermsAndConditionsFormType.php
[...]
$builder
->add('dummy',HiddenType::class,[
'label' => 'i am stupid and only needed because constrain-errors are not
displayed correctly without me (e.g. in the case both mandatory
checkboxes are not checked).'
])
[...]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。