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验证器避免句子中包含某些单词的主要内容,如果未能解决你的问题,请参考以下文章