• 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
Copyright © 2020-2023  润新知