jquery - 有效与验证

标签 jquery jquery-validate

我正在尝试学习 jQuery,并且偶然发现了一个奇怪的问题(也许只有我觉得奇怪)。所以这里是: 我的应用程序中有一个 id mainform 的表单。现在我想用 jQuery 验证表单。我还想将无效字段设置为蓝色。为此我添加了 css

.error{
  background-color:blue;
}

当我在控制台中运行 $('form#mainform').valid(); 时,我得到了突出显示,一切正常。但是,当我运行 $('form#mainform').validate(); 时,我收到了大量数据,但没有任何反应。

此外,如果我在 validate() 之前运行 .valid(),各种选项(例如错误放置等)似乎不起作用。

我想知道它们之间的区别,为什么它们的行为如此不同以及它们应该在哪里使用。如果有人能指出我正确的方向,我将不胜感激。

注意:我正在使用 jquery.validate.js

最佳答案

有效和验证之间存在一些差异。有趣的是,尽管文档指出

"validate needs to be called on the form before checking it using this method"

实际情况并非如此,因为 valid 无论如何都会调用 validate()。

两个主要区别是

  1. 如果要将选项传递给插件,则必须调用 validate({...})
  2. validate() 不会突出显示任何错误,而 valid() 会突出显示。您可以说 valid 执行“急切”验证,而 validate 设置“惰性”验证,基本上,如果您调用 validate(),您不会在页面上看到任何立即更改,而使用 valid() 则可能会看到。
  3. valid 可以在表单元素的子集上调用,而 validate 必须在表单本身上调用:

    $('form').validate({/* 这里有选项 */});

    $('.myfields').valid()

关于jquery - 有效与验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17404188/

相关文章:

jquery - 如何在尚不存在的元素上注册事件?

javascript - 通过 geojson 对象仅添加几个标记时,Leaflet 变得非常慢

jquery - 我如何使用jquery验证调用submithandler中的函数?

jquery - 使用 JQuery 验证插件

jquery - 如何动态更新 jQuery 验证消息

JQuery 验证输入文件类型

Jquery 提交不触发

javascript - JSON无法访问数据返回未定义

IE8 中的 jQuery CSS 错误

javascript - 使用 jQuery 验证在文本输入中要求 2 位小数