有效与验证

Aka*_*wal 12 jquery jquery-validate

我正在尝试学习jQuery并偶然发现了一个奇怪的问题(也许只对我来说很奇怪).所以这里是:mainform我的应用程序中有一个带有id的表单.现在我想用jQuery验证表单.另外我想用蓝色设置无效字段.为此,我添加了CSS

.error{
  background-color:blue;
}
Run Code Online (Sandbox Code Playgroud)

当我$('form#mainform').valid();在控制台中运行时,我得到了亮点,一切正常.然而,当我运行时$('form#mainform').validate();,我获得了大量数据并且没有任何反应.

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

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

注意:我使用的是jquery.validate.js

Dr *_*ard 18

有效和验证之间存在一些差异.有趣的是,虽然文档说明了这一点

"在使用此方法检查之前,需要在表单上调用validate"

事实并非如此,因为无论如何有效调用validate().

两个主要的区别是

  1. 如果要将选项传递到插件中,则必须调用validate({...})
  2. validate()不会突出显示任何错误,而valid()会突出显示.可以说,有效执行"渴望"的验证,而验证设置了一个"懒惰"的验证,基本上如果你调用的validate()你不会看到页面上的任何直接的变化,而与有效的(),你可能.
  3. 可以在表单元素的子集上调用valid,而必须在表单本身上调用validate:

    $('form').validate({/*options here*/});

    $(".myfields').有效的()

  • 它设置惰性验证 - 在文档准备好时调用它。尝试一下这些示例 http://jquery.bassistance.de/validate/demo/ (2认同)