0

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

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

或者

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

不起作用。

4

2 回答 2

1

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

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

编辑

我建议完全避免使用内联代码;我认为它更难维护,使您的 HTML 冗长,并且将功能与您的演示样式混合在一起。

我还删除了我在 jQuery 讨论论坛中找到的下面的示例(请参阅编辑历史记录),因为我找不到任何有关正确语法和用法的官方文档。

于 2012-10-31T14:34:13.033 回答
-2

如果你必须使用内联,使用 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");

那么你可以使用你的验证调用,从内联中删除 custom[]

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

确实更好的方法是 Sparky672 的 validate() 插件初始化,但如果你必须使用内联上述工作

于 2012-10-31T15:19:24.187 回答