Mor*_*ori 35 html javascript forms validation jquery
请参阅文档:https:
//jqueryvalidation.org/jQuery.validator.addMethod/
我想知道是什么this.optional(element).我创建了两个要测试的表单:
Form1和Form2 - 一个用于this.optional(element),另一个没有它.从理论上讲,根据安德鲁·惠特克对这个答案的一些评论:
一切
this.optional都是说"如果该字段是可选的,如果它是空白则返回true"
和
在
this.optional检查字段是否符合规则之前,检查基本上是检查字段是否为空.
Ryl*_*ley 44
好的......所以在你的例子中,任何一种形式的字段都不是空白的.它具有占位符值或尝试使用电子邮件地址.整点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');
Run Code Online (Sandbox Code Playgroud)
添加一类BOB required将与输入一类相同mustbeBOB.相比之下,如果一个类BOB允许空白或"BOB",而其类mustbeBOB只会通过值为的验证BOB,则空白将失败.那更有意义吗?