验证Symfony多选项卡表单


validating Symfony multi tab form

我有一个Symfony表单,有4个选项卡。选项卡1上的元素要求提供Gender,并且是必需的。如果用户选择另一个选项卡,然后单击save,则此字段验证失败。这是正确的,但是用户看不到问题出在哪里。

如何使表单切换到有错误的选项卡?

我认为这个问题很难回答。

首先,有三种不同类型的验证:

1)由浏览器自身进行的验证(自HTML5起)

2)使用javascript 进行验证

3)使用PHP(或Symfony)进行验证

现在,如果你靠在椅子上,仔细想想你实际上在做什么,你可能会想到如何解决这个问题。

如果表单不是太复杂,你可以添加javascript验证并禁用HTML5验证。另一种方法是将表单划分为每个选项卡一个表单。有很多可能性,但事实是,你会让你自己把一个表单的一部分放在几个选项卡中变得很复杂。

无论如何,添加novalidate属性到你的表单元素来禁用HTML5验证:

<form method="post" action="/foo" novalidate>...</form>
相关文章: