【发布时间】:2013-06-08 18:12:56
【问题描述】:
我有一个带有三个按钮的表单。一种用于添加对象,一种用于删除,一种用于编辑对象。
我现在想使用 Symfony 2.3 中引入的新表单按钮在添加按钮中禁用 html5-validation。这是可能的还是我必须创建一个新的按钮类型?我怎么能这样做?
【问题讨论】:
标签: php html validation symfony symfony-forms
我有一个带有三个按钮的表单。一种用于添加对象,一种用于删除,一种用于编辑对象。
我现在想使用 Symfony 2.3 中引入的新表单按钮在添加按钮中禁用 html5-validation。这是可能的还是我必须创建一个新的按钮类型?我怎么能这样做?
【问题讨论】:
标签: php html validation symfony symfony-forms
您需要做的就是将 html 属性 novalidate 或 novalidate="novalidate" 添加到元素中。您可以按照与从树枝模板的表单类型中添加任何其他属性相同的方式执行此操作。例如:
{{ form_widget(form.add, { 'attr': {'novalidate': 'novalidate' }}) }}
实际上,再次阅读您的问题,我不完全确定您要对按钮进行哪种验证。您必须将 novalidate 放在您不想验证的所有元素上。
您也可以将 novalidate 放在表单本身上:
<form action="demo_form.asp" novalidate>
【讨论】:
novalidate 所做的。)
要禁用表单验证,请在提交按钮上使用formnovalidate。
例如:
<div class="row">
<input type="email">
<input formnovalidate type="submit" value="Remove row">
</div>
<div class="row">
...
</div>
<input type="submit" value="Submit rows">
注意formnovalidate在删除按钮上,所以即使它旁边的字段包含无效的电子邮件,它仍然可以被删除。真正的提交按钮没有formnovalidate属性,所以在实际提交表单之前,所有的电子邮件必须是有效的。
【讨论】: