微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用jQuery验证检查确切的长度?

使用 jQuery Validation plugin验证表单,如何确认字符串长度恰好是X个字符?

解决方法

由于(目前)没有内置方法,因此您需要添加自己的方法。这可行:
jQuery.validator.addMethod("exactlength",function(value,element,param) {
 return this.optional(element) || value.length == param;
},$.validator.format("Please enter exactly {0} characters."));

然后可以像这样使用:

$("#formtovalidate").validate({
  rules: {
    somefield: {
      exactlength: 10
    }
   });

更新 – 工作原理

我被问到这是如何工作的。我不知道所有的细节;我在以前存在的方法上建模了这种方法。但是,这是我解释它的最佳尝试。

>该函数接受value,element和param。

> value是要验证的字段中输入的值
>元素是字段本身
> param是规则类型和冒号之后的任何内容。在上面的例子中,精确长度为10:10

>下一行是一个return语句。这将验证方法的最终判定返回给调用它的代码。任何返回true的验证方法都是说’此字段通过验证!’它将返回它所在行的值。
>返回后跟两个声明,用’或’运算符(||)分隔。

> ||运算符意味着’评估此项左侧的项目。如果是真的,则返回true。如果没有,请尝试右边的那个。如果是真的,则返回true。否则,返回false。

>左边的项目是this.optional(元素)。如果规则中不需要该元素,则返回true,验证也将返回true。这意味着’如果我不告诉你这个领域是必需的,我不在乎它是否有效。’
>如果需要该字段,我们将移至||的右侧。这是实际的验证测试。它将字段输入的长度与您指定的长度进行比较。如果它们相同,则返回true,方法返回true,验证通过。否则,验证失败。

就是这样。如需进一步的帮助,请参阅documentation,特别是关于custom validation methods的部分。

原文地址:https://www.jb51.cc/jquery/181595.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐