【问题标题】:jquery validator to avoid some word include in a sentencejquery验证器避免句子中包含某些单词
【发布时间】:2021-08-26 14:59:40
【问题描述】:

使用 Jquery 验证,我有一个表单
现在我想检查一个不能包含某些特定单词的字段。喜欢

  • 字段没有“Pte.有限公司'在字符串中 - 返回有效

  • 字段中有“Pte.”字样。有限公司'在字符串中 - 返回无效

这是我的带有 jquery 验证女巫的脚本功能不起作用。

jQuery.validator.addMethod("contains",
        function (value, element, param) {
            var contains  = false;
            for (i = 0; i < param.length; i++) {
                if (value.includes(param[i])) {
                    contains  = true;
                }
            }
        return this.optional(element) || contains;
    },"Cannot include Ptd. Ltd.");

在 jquery 验证规则下

            rules: {
                companyname: {
                    required: true,
                    contains: ["Pte. Ltd.", "Private Limited"],
                },

【问题讨论】:

  • 按照您现在的设置方式,只使用循环中的最后一项。每次循环时,contains 的先前值都会被覆盖。布尔值也是向后的。 true 表示有效,false 表示无效。请参阅下面的答案。

标签: jquery jquery-validate


【解决方案1】:

您需要交换真/假语句,因为true 表示它通过了验证并且是有效的。您还可以重新格式化它以提高效率。识别出无效参数后,无需遍历每个参数:

jQuery.validator.addMethod("contains",
  function (value, element, param) {
    if (this.optional(element)) {
      return true;
    }
    for (i = 0; i < param.length; i++) {
      if (value.includes(param[i])) {
        return false;
      }
    }
    return true;
  },
  "Cannot include Ptd. Ltd."
);

如果您要验证的输入元素的验证根本没有运行,请确保该元素具有 companyname 名称,根据您的规则定义。

【讨论】:

    猜你喜欢
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 2021-07-27
    • 1970-01-01
    相关资源
    最近更新 更多