jquery验证器避免句子中包含某些单词

Posted

技术标签:

【中文标题】jquery验证器避免句子中包含某些单词【英文标题】:jquery validator to avoid some word include in a sentence 【发布时间】: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 表示无效。请参阅下面的答案。 【参考方案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 名称,根据您的规则定义。

【讨论】:

以上是关于jquery验证器避免句子中包含某些单词的主要内容,如果未能解决你的问题,请参考以下文章

在javascript中包含整个字符串中的单词[关闭]

统计一个英文句子中包含2个a的单词有几个,并将两个a替换为星号,不能用count函数

检查两个字符串是不是在 Python 中包含相同的单词集

如何验证脚手架中包含的 bottomSheet 内的表单?

在 pydantic 模型中包含非验证方法是不好的做法吗?

Jquery 验证不适用于 Document.ready()