如何使用jQuery.validate()但依赖本机Chrome验证警报?

eko*_*eko 9 validation jquery html5 google-chrome

我正在使用jQuery Form Validator插件..

我有一个标记HTML5必需属性的表单,类似于下面:

<form role="form" id="the-form">
   <input name="name" id="name" required>
</form>
Run Code Online (Sandbox Code Playgroud)

我有jQuery验证就好了:

$("#the-form").validate();
Run Code Online (Sandbox Code Playgroud)

然后,按钮单击会触发有效性检查,然后再继续执行其他操作:

//Request Button clicked    
$("#request-btn").on("click", function() {
    if ($('#the-form').valid()){
        ...everything good... move along
    }
});
Run Code Online (Sandbox Code Playgroud)

我的逻辑工作正常.但是,现在我已经开始使用jQuery Validation Plugin,验证警报不再通过浏览器运行.我还在深入研究它,但我猜这个插件有自己的警报类可以格式化.

是否有一个标志强制jQuery允许弹出本机浏览器警报而不是自己的?

新的jQuery验证通知正在屏幕上打破我的表单布局,Chrome警报工作非常完美.

编辑: 发布此信息后,我正在检查警报,这就是现在插入的内容:

<label id="name-error" class="error" for="name">This field is required.</label>
Run Code Online (Sandbox Code Playgroud)

据我所知,Chrome的应用程序级别由Chrome处理.

第二次编辑此应用程序将特定于Chrome,因此我不担心跨浏览器和旧版浏览器兼容性.我实际上想让Chrome担心在现场级别进行验证,并且在移动之前只使用jQuery .valid()来检查整个表单的有效性.

eko*_*eko 1

感谢 adaam 的回复,我能够使用 checkValidity 方法进行 HTML5 约束验证:

\n\n
$('#request-btn').bind('click',function(){\n    if ($('#the-form')[0].checkValidity()) {\n        ...do the magic stuff here... move along...\n    }\n})\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

您可以只使用 jsfiddle.net/E6jhE/5 中的 HTML5 约束验证 API checkValidity\n 方法,并完全不需要 jQuery\n 验证。(如果您想检查每个阶段的有效性,我猜您正在使用单个<form>标签处理多页\n表单,尽管我可能会得到错误的结果) \xe2\x80\x93 adaam 34 \n 分钟前

\n
\n