国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JQuery validate插件驗證用戶注冊信息

2019-11-20 10:06:16
字體:
來源:轉載
供稿:網友

使用JQuery的validate插件做客戶端驗證非常方便,下面做一個使用validate插件驗證用戶注冊信息的例子。

本實例使用的是1.5版本

示例是在SSH下做的,代碼如下:

registe.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>注冊頁面</title> <mce:script type="text/javascript" src="js/jquery.1.4.2.js" mce_src="js/jquery.1.4.2.js"></mce:script> <mce:script type="text/javascript" src="js/validate/jquery.validate.js" mce_src="js/validate/jquery.validate.js"></mce:script> <link href="js/validate/jquery.validate.css" mce_href="js/validate/jquery.validate.css" type="text/css" rel="stylesheet"/> <mce:script type="text/javascript"><!-- //擴展validator的校驗方法 $.validator.addMethod("onlyLetterAndDigit",function(value, element, params){  var regex=new RegExp('^[0-9a-zA-Z]+$');  return regex.test(value); },"只能輸入字母或數字");  $(function(){  $("#registe").validate({  //定義驗證規則,其中屬性名為表單的name屬性  rules:{  username:{  required:true,  onlyLetterAndDigit:true,//使用自定義方法限制只能輸入字母或數字  rangelength:[4,20],  remote:"registe!validName.action"http://使用AJAX異步校驗  },  password:{  required:true,  rangelength:[4,20]  },  chkpassword:{  required:true,  equalTo:"#password"   },  email:{  required:true,  email:true   },  vercode:"required"  },  messages:{  username:{  required:"請輸入用戶名",  rangelength:"用戶名長度必須在4~20位之間",  remote:$.format("用戶名{0}已存在,請重新輸入!")  },  password:{  required:"請輸入密碼",  rangelength:"密碼長度必須在4~20位之間"  },  chkpassword:{  required:"請再次輸入密碼",  equalTo:"密碼輸入不一致,請重新輸入"   },  email:{  required:"請輸入電子郵件",  email:"請輸入合法的電子郵件"   },  vercode:{  required:"請輸入驗證碼"   }  }  }); });  //刷新驗證碼 function refresh() { $("#authImg").src="authImg?now="+new Date(); } // --></mce:script> </head> <body> <form action="registe.action" method="post" id="registe"> <table>  <caption><h2>用戶注冊</h2></caption>  <tr>  <td>用 戶 名:</td><td><input type="text" name="username" id="username"/></td>  </tr>  <tr>  <td>密 碼:</td><td><input type="text" name="password" id="password"/> </td>  </tr>  <tr>  <td>確認密碼:</td><td><input type="text" name="chkpassword"/></td>  </tr>  <tr>  <td>Email:</td><td><input type="text" name="email"/></td>  </tr>  <tr>  <td>驗證碼:</td><td valign="bottom"><input type="text" name="vercode" size="10"/> <img alt="" src="authImg" mce_src="authImg" id="authImg" align="absmiddle"><a href="#" mce_href="#" onclick="refresh()"><span style="font-size:12px" mce_style="font-size:12px">刷新驗證碼</span></a></td>  </tr>  <tr>  <td colspan="2"><input type="submit" value="提交"/><input type="reset" value="重填"/></td>  </tr> </table> </form> </body> </html> 

后臺RegisteAction.java的主要方法

public String execute() throws Exception {  Map session = ActionContext.getContext().getSession();  String ver2 = (String) session.get("rand");  session.put("rand", null);  //判斷驗證碼是否正確  if (vercode.equals(ver2)) {  if (userManager.validName(username)) {  if (userManager.addUser(username, password, email) > 0)  return SUCCESS;  else  addActionError("注冊失敗,請重試!");  } else {  addActionError("該用戶名已存在,請重新輸入!");  }  } else {  addActionError("驗證碼不匹配,請重新輸入");  }  return INPUT;  }  //驗證用戶名是否可用 public String validName() throws Exception {  System.out.println(username);  boolean flag = userManager.validName(username);  HttpServletResponse response = ServletActionContext.getResponse();  response.setDateHeader("Expires", 0);  response.addHeader("Pragma", "no-cache");  response.setHeader("Cache-Control", "no-cache");  response.setContentType("text/plain;charset=UTF-8");  if (flag)  response.getWriter().write("true");  else  response.getWriter().write("false");  response.getWriter().flush();  // 因為直接輸出內容而不經過jsp,因此返回null.  return null; } 

效果圖如下:

注意:使用remote異步驗證用戶名的方法應該通過response.getWriter().write("true")來輸出,而不能像普通方法一樣返回字符串。

關于插件更詳細的介紹可以查看“jQuery validate驗證插件使用詳解”。

另外,jQuery也支持動態給控件添加校驗,例如:

復制代碼 代碼如下:
("#email").rules("add", { required: true, email: true }); 

但要注意:如果對集合中的元素動態添加校驗需要循環對每個元素添加,這是因為jQuery隱式實現了集合操作,但validate插件沒有。例如:

$(".quantity").each(function(){  $(this).rules("add",{digits:true,required:true}); }); 

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 垣曲县| 封开县| 犍为县| 额尔古纳市| 涿州市| 松江区| 珠海市| 响水县| 资源县| 库尔勒市| 海淀区| 大关县| 鹿泉市| 睢宁县| 浏阳市| 河源市| 麻城市| 绿春县| 临沂市| 台东县| 蒲江县| 怀集县| 石家庄市| 沐川县| 肥城市| 营山县| 抚松县| 镇雄县| 漾濞| 缙云县| 花垣县| 方城县| 邻水| 陆良县| 酒泉市| 余干县| 兴海县| 淮南市| 治多县| 北川| 新巴尔虎右旗|