我使用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();
答案 0 :(得分:2)
您需要做的只是在表单中引用name
属性:
<input type="text" data-validation="non-numeric" />
value
,$el
,config
,language
和$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]*
。