插件的错误消息Jquery Validation不正确

时间:2014-09-08 01:31:07

标签: javascript jquery validation

我的代码上有自定义方法Jquery vAlidation。

这是我的代码

jQuery.validator.addMethod("number_space", function(value, element) {
        return this.optional(element) || /^\d{8,}$/.test(value.replace(/\s/g, ''));
        }, "Hanya angka dan spasi yang diperbolehkan");


            jQuery("#quesioner_form").validate({
                errorElement: 'label',
                rules: {
                    responden_phone: {
                        required: true,
                        number_space:true,
                        minlength: 6
                    },                          

                },
                messages: {
                    responden_phone: {
                        required: "Harap isi nomer telepon anda",
                        number_space: "Hanya angka dan spasi yang diperbolehkan",
                        minlength: "Minimal 6 karakter"
                    },
            });

更新:通过http://jsfiddle.net/ykgfy53d/

上面的代码,“responden_phone”允许数字和空格,并且必须是minlength 6个字符。但是当它运行时,错误消息不正确。当我输入有效数字和空格不是minlengt 6 时,“Hanya angka dan spasi yang diperbolehkan”的错误在长度超过5之前不会隐藏。正确的逻辑是什么时候有效数字和空格不是minlengt 6 ,显示“最小6 karakter”的错误。怎么解决?对不起我的英语

1 个答案:

答案 0 :(得分:1)

有两件事阻止您的代码按预期工作:

  1. 你的正则表达式不正确 - 使用/^[\d ]{8,}$/,意思是 - 至少8个数字或数字空格
  2. 您正在测试之前从字符串中删除空格
  3. modified your example按照您的期望工作。

    作为参考,我改变了这个:

    return this.optional(element) || /^\d{8,}$/.test(value.replace(/\s/g, ''));
    

    致:

    return this.optional(element) || /^[\d ]{8,}$/.test(value);