校验页面输入的数据在数据库中是否存在

    技术2022-07-14  66

    一、在页面中国保留原来的值,跟修改之后的做比较

         1、要校验的字段

    <div class="form-group"> <div class="row"> <div class="col-sm-12"> <label class="col-sm-3 control-label">分类名称</label> <div class="col-sm-6"> <input type="text" name="name" id="name" value="${courseClassify.name}" class="form-control" maxlength="200" placeholder="请输入" /> </div> </div> </div> </div>

          2、原来的值

    <input type="hidden" id="oldName" value="${courseClassify.name}">

       3、使用validate进行校验

    $("#inputForm").validate({ rules: { name:{ remote: { type: "get", dataType: "json", url: "${base}/admin/course_classify/check_name.jhtml", data: { name: function () { return $("#name").val(); }, oldname:function () { return $("#oldName").attr(); }, } } } }, messages: { name:{ remote: "该分类名称已经存在" }} } );

        4、controller处理

    /** * 检查分类名称是否存在 */ @RequestMapping(value = "/check_name", method = {RequestMethod.GET}) @ResponseBody public boolean checkAccount(String name,String oldname) { if(oldname != null){ if (StringUtils.isEmpty(name)) { return true; } if (StringUtils.isEmpty(oldname)) { return true; } if (name.equals(oldname)) { return true; } } Long count = this.courseClassifyService.count(Paramap.create().put("name", name)); if (null != count && count > 0) { return false; } else { return true; } }

    二、在前端直接把id值携带到controller层,在根据id排除数据本身       

            1、验证的字段

    <div class="form-group"> <div class="row"> <div class="col-sm-12"> <label class="col-sm-3 control-label">手机号</label> <div class="col-sm-6"> <input type="text" name="phone" id="phone" data-id="${appUser.id}" value="${appUser.phone}" class="form-control" required maxlength="200" oninput = "value=value.replace(/1[34578]\\d{9}/g,'')"/> </div> </div> </div> </div>

          2、获取id

    <input type="hidden" value="${appUser.id}" name="id" id="userId"/>

          3、ajax传值

    rules: { phone: { remote: { type: "get", dataType: "json", url: "${base}/admin/app_user/check_phone.jhtml", data: { phone: function () { return $("#phone").val(); }, userId: function () { return $("#userId").val(); }, } } } }, messages: { phone: { required: "请输入账号", maxlength: "账号最多11个字符", remote: "账号已经存在" } }

            4、controller层处理    

    /** * 检查手机号是否存在 */ @RequestMapping(value = "/check_phone", method = {RequestMethod.GET}) @ResponseBody public boolean checkAccount(String phone,Long userId) { Long count=null; if (userId != null){//编辑 count = this.appUserService.countAppUser(phone,userId); }else if(userId==null) { count = this.appUserService.count(Paramap.create().put("phone", phone)); } if (null != count && count > 0) { return false; } else { return true; } }

            5、除去数据本身,来进行比较 

    SELECT COUNT(*) FROM t_app_user WHERE phone=#{phone} AND id NOT IN (#{id})

     

    Processed: 0.009, SQL: 10