【发布时间】:2015-09-14 05:17:04
【问题描述】:
我有一个有 4 个标签的 Symfony 表单。 选项卡 1 上的元素要求 Gender 并且是必需的。 如果用户选择另一个选项卡然后单击保存,则此字段验证失败。 这是正确的,但用户看不到问题所在。
如何使表单切换到出现错误的选项卡?
【问题讨论】:
-
您应该更详细地描述您的问题。尝试在此处粘贴您的代码,您的实际视图,您对正确视图的看法。您当前的问题过于宽泛。
我有一个有 4 个标签的 Symfony 表单。 选项卡 1 上的元素要求 Gender 并且是必需的。 如果用户选择另一个选项卡然后单击保存,则此字段验证失败。 这是正确的,但用户看不到问题所在。
如何使表单切换到出现错误的选项卡?
【问题讨论】:
我认为这个问题没有一个简单的答案。
首先,有三种不同类型的验证:
1) 由浏览器自己进行的验证(从 HTML5 开始)
2) 借助 javascript 进行验证
3) 借助 PHP(或 Symfony)进行验证
现在,如果你靠在椅子上,过度思考你实际在做什么,你可能会想到如何解决这个问题。
如果表单不太复杂,您可以添加 javascript 验证并禁用 HTML5 验证。另一种方法是将您的表单划分为每个选项卡一个表单。有很多可能性,但事实是,将表单的一部分放入多个选项卡中会让您自己变得复杂。
无论如何,将 novalidate 属性添加到您的表单元素以禁用 HTML5 验证:
<form method="post" action="/foo" novalidate>...</form>
【讨论】: