我的代码上有自定义方法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”的错误。怎么解决?对不起我的英语
答案 0 :(得分:1)
有两件事阻止您的代码按预期工作:
/^[\d ]{8,}$/
,意思是 - 至少8个数字或数字空格我modified your example按照您的期望工作。
作为参考,我改变了这个:
return this.optional(element) || /^\d{8,}$/.test(value.replace(/\s/g, ''));
致:
return this.optional(element) || /^[\d ]{8,}$/.test(value);