5

JQuery Validate 拦截所需的属性,例如

<input type="text" required />

这将强制客户端验证非常棒的字段。现在这也是 HTML5 规范的一部分,即使 JavaScript 被禁用,支持它的浏览器也会显示验证消息。

在我的应用程序中,我已经构建了我很满意的服务器端验证,所以我想停止这种行为。所以我的问题是如何禁用此 HTML5 表单验证?

更新 似乎有些混乱,基本上我对 JQuery validate 解释它和验证触发很满意。但是,如果用户禁用了 JavaScript,我希望验证回退到我已经编写的服务器端验证。但是,因为 JQuery Validate 和 HTML5 共享相同的标记,所以它不会提交表单,而是显示我希望禁用的 HTML5 验证消息。这有意义吗?

4

2 回答 2

12

在表单对象中添加 novalidate 参数以停止浏览器验证表单。

<form action="test.do" novalidate>
   <input type="text" required />
</form>
于 2013-06-22T10:21:26.943 回答
0

兼容 HTML5 的浏览器本身会将其解释为必填字段,因此实际上没有办法阻止它。通过添加它,您是在说,这是必需的。

这是一个想法,你可以试试。还有另一个属性“模式”,您可以在其中提供用于验证的表达式。也许如果你让它接受所有内容,那么来自浏览器的 HTML5 验证将只是通过所有内容,并且仍然允许你的 jquery 验证工作。

<input type="url" required pattern="*" />

我没有对此进行测试,这是一个理论。如果它有效,那就太棒了。;)

于 2013-06-20T20:51:47.683 回答