Javascript 当添加jQuery验证方法时,this.optional(元素)做什么?

Javascript 当添加jQuery验证方法时,this.optional(元素)做什么?,javascript,jquery,html,forms,validation,Javascript,Jquery,Html,Forms,Validation,请参阅文档: 我想知道这个可选(元素)有什么作用。我创建了两个表单进行测试: 和-一个带此。可选(元素),另一个不带它。从理论上讲,根据安德鲁·惠特克的一些评论: 所有的this.optional都是说“如果该字段是可选的,那么如果为空则返回true” 及 this.optional检查基本上是在评估字段是否符合规则之前检查字段是否为空 但在行动上,我看不出在方式和工作上有什么不同。请帮助我理解操作上的差异。此。可选的用于通用验证方法,可能与必需的或可选的元素一起使用。如果字段未填写,则允许他

请参阅文档:

我想知道
这个可选(元素)
有什么作用。我创建了两个表单进行测试:
和-一个带
此。可选(元素)
,另一个不带它。从理论上讲,根据安德鲁·惠特克的一些评论:

所有的
this.optional
都是说“如果该字段是可选的,那么如果为空则返回true”

this.optional
检查基本上是在评估字段是否符合规则之前检查字段是否为空


但在行动上,我看不出在方式和工作上有什么不同。请帮助我理解操作上的差异。

此。可选的
用于通用验证方法,可能与必需的或可选的元素一起使用。如果字段未填写,则允许他们跳过自己的所有检查。如果该字段为可选且为空,则调用
this.optional
的方法将立即成功返回


通过使用此方法,该方法可以假定该值为非空,这可以简化其其余的编码。

好的。。。因此,在您的示例中,字段在两种形式中都不会为空。它有一个占位符值,或者试图访问电子邮件地址。
this.optional(element)
的要点是,如果元素为空且不是必需的,则立即返回true

如果你有这两种方法:

jQuery.validator.addMethod("BOB", function (value, element) {
    return this.optional(element) || 
        element.value === 'BOB';
}, 'You did not enter BOB');

jQuery.validator.addMethod("mustbeBOB", function (value, element) {
    return element.value === 'BOB';
}, 'You did not enter BOB');

添加
BOB required
类与输入
mustbeBOB
类相同。与允许空白或“BOB”的
BOB
类相比,与只通过值为
BOB
的验证的
mustbeBOB
类相比,blank将失败。这更有意义吗?

有帮助的例子!这意味着如果字段是必需的或具有默认值,那么使用
this.optional(element)
就没有意义了,对吗?Form1和Form2不再可见。有其他链接吗?@accord_-guy:编辑了这个问题。