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

2024-04-15

使用jQuery 验证插件 http://docs.jquery.com/Plugins/Validation要验证表单,您如何确认字符串的长度恰好是 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
    }
   });

更新 - 它是如何工作的

有人问我这是如何运作的。我不知道所有细节;我在以前存在的方法的基础上模仿了这个方法。然而,这是我解释它的最好尝试。

  • The function takes in value, element, and param.
    • value是在正在验证的字段中输入的值
    • element是字段本身
    • param是规则类型和冒号之后的内容。在上面的例子中,它是 10exactlength: 10
  • 下一行是return陈述。这会将验证方法的最终结论返回给调用它的代码。任何返回的验证方法true是说“该字段通过验证!”它将返回其所在行的值。
  • The return is followed by two declarations, separated by an 'or' operator (||).
    • The || operator means 'evaluate the item left of this. If it's true, return true. If not, try the one on the right. If it's true, return true. Otherwise, return false.'
      • 左边的项目是this.optional(element)。如果您的规则中不需要该元素,则这将返回 true,验证也将返回 true。这意味着“如果我不告诉您该字段是必需的,我不在乎它是否有效。”
      • 如果需要该字段,我们移至该字段的右侧||。这是实际的验证测试。它将字段输入的长度与您指定的长度进行比较。如果它们相同,则返回 true,该方法返回 true,验证通过。否则,验证失败。

就是这样。如需进一步帮助,请参阅文档 http://docs.jquery.com/Plugins/Validation#Plugin_methods,特别是关于的部分自定义验证方法 http://docs.jquery.com/Plugins/Validation/Validator/addMethod#namemethodmessage.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 jQuery 验证检查确切的长度? 的相关文章