我创建了自己的自定义验证方法,该方法依次使用minlength方法,但是我得到了这个错误:
this.optional is not a function
我的代码在这里:
jQuery.validator.addMethod("validAccount", function(value, element, params) {
var res = true;
if (!isNaN(parseInt(value[0]))) {
res = false;
} else if (!$.validator.methods.minlength(value.split(""), element, params)) {
res = false;
}
return res;
}, "The inserted account isn't valid");
任何人都可以帮助我吗?我想了解问题所在。
注意:在minlength方法中我使用split,因为没有它我也得到getLength不是函数。
答案 0 :(得分:1)
引用OP的comment:
“帐号字段不应该以数字开头,没有这样的内置方法。所以我应该创建它。另外,帐户字段应至少为n个字符。我想过使用现有的方法,而不是重新创建它,但我发现这是一个坏主意。“
也许您不知道可以同时将多个规则应用于同一个字段。您可以编写一个自定义规则,指出它不应以数字开头,然后将其与默认的minlength
规则一起使用。
$("#idform").validate({
rules: {
account: {
validAccount: true, // <- custom rule to make sure does not start with number
minlength: 4 // <- default rule (at least 4 characters entered)
}
}
});
您可以根据需要使用任意数量的默认和/或自定义规则(方法)。另外,请查看the additional-methods.js
file以获取更多信息。