由於最近項目有使用Validform v5.3.2.js,現在要做一個校驗的用戶名。所以看官方文檔就扔出個ajaxurl 這屬性,傳參數加返回的,后面百度到一個
http://blog.csdn.net/qq673318522/article/details/38663137 總算有相對應的了,其他帖子都無聊的拷貝官網的。沒啥軟用
使用ajaxurl,進行實時驗證用戶名是否存在
jsp頁面增加ajaxurl="front/user/checkUser.do"這屬性加url地址
<input type="text" value="" name="account" class="inputxt" datatype="s4-16" nullmsg="請輸入賬號!" <span style="color:#ff0000;"><strong>ajaxurl="front/user/checkUser.do"</strong></span> sucmsg="賬號可以使用" errormsg="4~20位字符,可由英文、數字以及"_"、"-"組成" />
Controller層
ajaxurl:會把當前元素的值Post給ajaxurl指定的文件。
ajaxurl指定的文件可以接收到Post過來的兩個值,分別是param和name,param是該元素的值,name是該元素的name名稱。可以通過區別name來把一個表單下,多個實時驗證請求,都指定到同一個文件。
首先會對datatype進行驗證,只有驗證通過后才會Post數據。
/** * 檢查注冊賬號是否存在 * * @param name *<span style="color:#ff6666;"><strong> 表單中的文本框的name屬性 * @param param * 表單中對應name屬性的文本框的值</strong></span> * @return */ @RequestMapping("/checkUser") @ResponseBody public Map<String,Object> checkUser( String name,String param, HttpServletRequest request){ Map<String,Object> map=new HashMap<String,Object>(); List<AgencyEntity> agencyList=agencyService.findByProperty(AgencyEntity.class, "account", param); if(agencyList.size()!=0){ map.put("status", "n"); map.put("info","賬號已經存在!" ); }else{ map.put("status", "y"); map.put("info", "賬號可以使用!"); } return map; }
就over了,老特么簡單了。這里做個記錄,復制上面鏈接帖子的文章來方便自己以后好找
注意:不過這么寫的話,編輯的時候就不行了,就又得加參數
/** * 檢查注冊賬號是否存在 * * @param name *<span style="color:#ff6666;"><strong> 表單中的文本框的name屬性 * @param param * 表單中對應name屬性的文本框的值</strong></span> * @return */ @RequestMapping("/checkUser") @ResponseBody public Map<String,Object> checkUser( String name,String param, String flag,HttpServletRequest request){ Map<String,Object> map=new HashMap<String,Object>(); List<AgencyEntity> agencyList=agencyService.findByProperty(AgencyEntity.class, "account", param); if ("edit".equals(flag)) { if(agencyList.size()<=1){ map.put("status", "n"); map.put("info","賬號已經存在!" ); }else{ map.put("status", "y"); map.put("info", "賬號可以使用!"); } } else { if (agencyList.size() == 0) { map.put("status", "n"); map.put("info","賬號已經存在!" ); }else{ map.put("status", "y"); map.put("info", "賬號可以使用!"); } } return map; }
需要在編輯的jsp 頁面的ajaxurl屬性后面加參數ajaxurl="front/user/checkUser.do?flag=edit
<input type="text" value="" name="account" class="inputxt" datatype="s4-16" nullmsg="請輸入賬號!" <span style="color:#ff0000;"><strong>ajaxurl="front/user/checkUser.do?flag=edit"</strong></span> sucmsg="賬號可以使用" errormsg="4~20位字符,可由英文、數字以及"_"、"-"組成" />