禁用HTML5弹出式表单验证消息


Disabling HTML5 popup form validation messages

假设我的表单中有:

{{ Form::email('fieldname', null, array()) }}

我将此输入填写如下:

thisisntanemailadress

单击提交按钮后,会出现一个弹出窗口,显示这不是一个有效的电子邮件地址,这会阻止我的表单被提交。

除了使用Form::text()之外,我如何禁用/配置所有类似的弹出消息?

这不是由Laravel引起的。实际上,它是浏览器在允许用户提交表单之前尝试验证输入字段值。当您使用HTML5输入类型时会触发此操作,这些类型包括emailurlnumberteldate和其他几种。

您正在使用的Form helper方法将生成以下HTML:

<input type="email" name="fieldname">

大多数现代浏览器都会看到type="email",并在允许您提交表单之前尝试验证任何输入

如果不希望浏览器验证特定字段,可以将novalidate属性添加到该字段输入标记中。对于您正在使用的表单助手方法,这可以通过第三个参数来完成。

{{ Form::email('fieldname', null, array('novalidate'=> 'novalidate')) }}

或者,您可以通过将novalidate属性添加到form标记来禁用整个表单的浏览器验证。

<form method="" action="" novalidate> ... </form>