ValidForm ajaxurl 进行表单验证检验用户名是否存在

由于最近项目有使用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位字符,可由英文、数字以及"_"、"-"组成" />  
原文地址:https://www.cnblogs.com/xuerong/p/8126758.html