我正在使用jQuery验证引擎,我需要为一个字段使用两个自定义规则。我一个接一个地试过它们,它们工作正常。我如何附上两者?
class="validate[required,custom[OFS, onlyLattinLetters], maxSize[140]]"
或
class="validate[required,custom[OFS], custom[onlyLattinLetters], maxSize[140]]"
不起作用。
答案 0 :(得分:1)
您是否尝试在插件初始化函数中声明它们而不是内联类?
$(document).ready(function() {
$('#myForm').validate({
rules: {
myField: {
required: true,
OFS: true,
onlyLattinLetters: true,
maxSize: 140
}
}
});
});
修改强>:
我建议完全避免使用内联代码;我认为维护起来比较困难,使你的HTML变得冗长,并且它会将你的演示风格混合在一起。
我还删除了我在jQuery论坛中找到的以下示例(see edit history),因为我找不到任何关于正确语法和用法的官方文档。
答案 1 :(得分:-1)
如果你必须使用内联,请使用Add方法创建两个自定义规则,我会做一个显示
jQuery.validator.addMethod("onlyLattinLetters", function(value, element) {
return this.optional(element) || \p{IsBasicLatin}.test(value);
// or replace before .test() whatever your regex is
}, "Only in Latin numbers please");
然后您可以使用您的验证调用,从内联
中删除自定义[] class="validate[required, OFS, onlyLattinLetters, maxSize[140]]"
真正更好的方法是Sparky672的validate()插件初始化,但如果你必须使用内联上面的工作