jQuery验证插件.两个自定义规则不起作用



我正在使用jQuery验证引擎,我有两个自定义规则,我需要用于一个字段。我已经尝试了两个,它们正常工作。我如何连接两个?

class="validate[required,custom[OFS, onlyLattinLetters], maxSize[140]]"

class="validate[required,custom[OFS], custom[onlyLattinLetters], maxSize[140]]"

不起作用。

而不是内联类,您是否尝试在插件初始化函数中声明它们?

$(document).ready(function() {
    $('#myForm').validate({
        rules: {
            myField: { 
                required: true,
                OFS: true,
                onlyLattinLetters: true,
                maxSize: 140
            }
        }
    });
});

编辑

我建议完全避免使用内联代码;我认为维护更难,使您的html冗长与您的演示样式相结合。

我还在下面删除了我的示例(请参阅编辑历史记录),因为我找不到有关适当语法和用法的任何正式文档。

如果您必须使用内联,请使用添加方法来创建您的两个自定义规则,我会做一个以显示

 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");

然后,您可以使用验证调用,从而从inline

中删除自定义[]
 class="validate[required, OFS, onlyLattinLetters, maxSize[140]]"

真正更好的方法是Sparky672的Validate()插件初始化,但是如果您必须使用上面的工作

最新更新