Validate验证用户是否存在

Validate验证用户是否存在


HTML代码

<form id="forminfo" action="" method="post">
	<div>
		<label for="username">用户名:</label> 
		<input type="text" placeholder="输入用户名"
		 id="username" name="username" >
	</div>  
	<br>
	<div>
		<label for="password">用户密码:</label> <input type="password"
		placeholder="输入用户密码" id="password" name="password" >
	</div>
	<div>
		<button type="submit" id="submitbtn" >提交</button>
	</div>
</form>

Servlet代码

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	  response.setCharacterEncoding("UTF-8");
  	  request.setCharacterEncoding("UTF-8");
          PrintWriter out = response.getWriter();
          
          //拿到前台发来的json中的username的数据
          String username = request.getParameter("username");
          
          //检验信息,向流中输出false或是true的字符串
          //remote只能识别true或false以及其字符串,addmethod中的AJAX可以识别其它字符串			
          
          if("huq".equals(username)
          	out.println("false");
          else
          	out.println("true");	
          
          out.flush();
 	  out.close();
}

1.remote验证

$().ready(function(){
	$("#forminfo").validate({ 
		rules : {
   		     	 username : {
			       remote : {
			                 url : "CheckUserName", //发送到CheckUserName的servlet处理数据
			                 
   				         type : "post", //发送方式定为post
   				         
                                         datatype : "json", //发送数据为json
                                         
                                         data : {"username" : function() {
                                              return $("#username").val();} //发送数据,这是一个json数据
                                },
                       	  }
                 },
                 messages : {
                 	username : {
                 		remote : "用户已经存在"
                 	}
                 }
        })
 })

2.addMethod验证

$().ready(function(){
	$.validator.addMethod("checkuser",function(value,element,params){
		var i=false;
		 $.ajax({
		 	async:false, //设为同步,否则会先执行下面的return i
		 	
		 	url : "CheckUserName", //发送到CheckUserName的servlet处理数据
		 	
		 	type : "post", //发送方式定为post
		 	
		 	datatype : "json", //发送数据为json
		 	
		 	data : {"username" : $("#username").val()}, //发送数据,这是一个json数据
		 	
		 	success : function(data){
		 		if(data=="false"){
		 			i = false;
		 		}else{
		 			i = true;
		 		}
		 	} //数据成功处理后的处理
		 })
		 return i; //false表示出错输出错误信息,true表示正确不输出错误信息
	});
	$("#forminfo").validate({
		rules : {
			username : {
				checkuser : true
			}
		},
			messages : {
				username : {
					checkuser : "用户名已经存在"
				}
			}
		});
	})

这就是两种利用validate验证用户是否存在的方式
需要注意

  1. remote只能接收true或是false及其字符串,而addMethod中的AJAX验证则是可以接收其它字符串
  2. validate的rules里面的规则都只能接收true或是false,所以addMethod中的最后返回一个boolean
  3. addMethod里的AJAX验证最好是同步,否则的话,异步验证,会导致,数据尚未处理完毕,addMethod就返回boolean数据了
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这可怎么整啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值