我正在使用 formvalidator.net jQuery 插件并尝试编写一个不接受数字输入的自定义验证器(“字母数字”类型允许数字)。我编写了下面的函数,但不确定要为 $el, config, language, $form
参数传递什么,而且我不理解文档,该文档位于:http://formvalidator.net/#custom-validators
文档解释了参数,但我不知道如何正确格式化它们;我对 jQuery 很陌生,对 Javascript 也很陌生。任何帮助将不胜感激。
这是我的代码,感谢您的帮助!
$.formUtils.addValidator({
name : 'non-numeric',
validatorFunction : function(value, $el, config, language, $form) {
var numericRe = /[0-9]/;
return !numericRe.test(value);
},
errorMessage : 'Please enter a valid name (no numbers)',
errorMessageKey: 'badContainsNumber'
});
$.validate();
最佳答案
您需要做的就是在表单中引用 name
属性:
<input type="text" data-validation="non-numeric" />
值
、$el
、config
、语言
和$form
参数会自动传递给 validatorFunction
回调函数。它们是为了您的方便(value
是值,$el
是输入,不确定 config
和 language
无需阅读文档,$form
就是表单)。
目前,您的自定义验证器将允许任何内容,只要它没有数字(因此 !@#
进行验证,这不是“alpha”)。如果你想要pure "alpha" ,使用这样的函数:
function(value, $el, config, language, $form) {
return /^[a-z]+$/i.test(value);
}
^
和 $
会将匹配锚定到字符串的开头/结尾,而 i
使其不区分大小写。请注意,这将查找 1 个以上的字母,如果您希望字符串在空时有效,则需要 0 个以上的字符:[a-z]*
。
关于javascript - 尝试使用 formvalidator.net 为 "alpha"编写自定义验证器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23839614/