由于最近项目有使用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位字符,可由英文、数字以及"_"、"-"组成" />