如何禁用symfony 2.3中特定按钮的html5验证

时间:2013-06-12 14:59:48

标签: php html5 validation symfony symfony-forms

我有一个带有三个按钮的表单。一个用于添加对象,一个用于删除,一个用于编辑对象。

我现在想要使用Symfony 2.3中引入的新表单按钮在add-button中禁用html5验证。这是可能的还是我必须创建一个新的按钮类型?我怎么能这样做?

2 个答案:

答案 0 :(得分:6)

要停用表单验证,请在提交按钮上使用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属性,因此在实际提交表单之前,所有电子邮件都必须有效。

答案 1 :(得分:4)

您需要做的就是在元素中添加html属性novalidate或novalidate =“novalidate”。您可以使用与树枝模板的表单类型添加任何其他属性相同的方式执行此操作。例如:

{{ form_widget(form.add, { 'attr': {'novalidate': 'novalidate' }}) }}

实际上,再次阅读你的问题,我不完全确定你在按钮上尝试做什么样的验证。您必须在您不想验证的所有元素上放置novalidate。

您还可以在表单上放置novalidate:

<form action="demo_form.asp" novalidate>