Javascript 插件Jquery验证的错误消息未正确显示

Javascript 插件Jquery验证的错误消息未正确显示,javascript,jquery,validation,Javascript,Jquery,Validation,我的代码上有自定义方法Jquery验证 这是我的密码 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验证

这是我的密码

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"
                    },
            });
更新:via


上面的代码“responden_phone”允许使用数字和空格,并且必须最小长度为6个字符。但当它运行时,错误消息不会正确显示。当我键入有效数字和空格非最小长度6时,“Hanya angka dan spasi yang diperbolehkan”的错误直到长度超过5才隐藏。正确的逻辑是当有效数字和空格不是最小长度6时,显示“最小6克拉”错误。如何修复它?很抱歉我的英语不好,有两件事妨碍了你的代码按预期工作:

  • 您的正则表达式不正确-请使用
    /^[\d]{8,}$/
    ,意思是-至少有8个字符是数字或空格
  • 在测试之前,您正在从字符串中剥离空格
  • 我必须按照你的期望工作

    作为参考,我更改了以下内容:

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


    欢迎来到堆栈溢出。请使用JSFIDLE或类似工具提供您的代码示例。谢谢,,请检查我的更新:)先生,您的代码未经编辑,但谢谢您的回答。。。我删除了正则表达式上的“{8,}$”,这项工作:)
    return this.optional(element) || /^[\d ]{8,}$/.test(value);