如何让JQuery validate的remote方法,返回多种不同的错误信息
tinyfool
由 tinyfool
发布于 2013年11月23日
无人欣赏。
$(document).ready(function() {
$("#regform").validate({
rules: {
name:{
required:true,
minlength:3,
maxlength:25,
remote:"/user/ajaxcheck/name/",
},
},
messages:{
name:{
remote:"用户名已经存在,请换一个"
},
},
onkeyup: false,
onblur: true
});
});
假设我有如上的代码,用来检测用户是否存在已经没有问题了。但是这个时候,我希望检测用户名是否有空格、@ 等,我可以扩展/user/ajaxcheck/name/,但是我怎么返回不同的信息呢?当用户存在的时候,返回"用户名已经存在,请换一个",当用户名不合法的时候,返回"你的用户名不合法,用户名不能包含空格、@ 等"。怎么做到呢?
共2条回复
楼长
·
emitle
回复于 2013年11月23日
<script>
jQuery.validator.addMethod("isUsername", function(value, element) {
return this.optional(element) || /\w+/.test(value);
}, "请输入正确的用户名");
$("#demo").validate({
"rules":{
"username":{
"required":true,
"isUsername":true,
"remote" :"index.php",
}
},
"messages":{
"username":{
"remote":"用户名已经存在,请换一个",
"isUsername":"用户名格式错误",
}
}
})
</script>
2楼
·
CurveSoft
回复于 2014年03月03日
只能修改validation的源码了,他本身是不支持的,因为他只判断true/false,没地方处理不同的返回值或者消息。