OC

Knowledge OS
登录 注册
全部话题 移民 创业 iOS Mac Objective-C Swift Android 招聘 求职

如何让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,没地方处理不同的返回值或者消息。

登录 或者 注册

AltStyle によって変換されたページ (->オリジナル) /