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

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

     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})

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个基于AJAX技术的用户注册校验代码示例。假设你使用的是PHP后端语言。 在注册页面,添加一个用户名输入框和一个校验按钮: ```html <label>用户名:</label> <input type="text" id="username" name="username"> <button onclick="checkUsername()">校验</button> ``` 在JavaScript,编写校验函数checkUsername(),使用AJAX技术向后端发送请求,并根据返回结果提示用户: ```javascript function checkUsername() { var username = document.getElementById("username").value; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { var result = xhr.responseText; if (result == "exist") { alert("该用户名已存在,请尝试其他用户名"); } else { alert("该用户名可以使用"); } } }; xhr.open("POST", "check_username.php", true); xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.send("username=" + username); } ``` 在后端PHP文件check_username.php,查询数据库是否存在该用户名,并返回对应的结果: ```php <?php $username = $_POST["username"]; // 连接数据库,查询是否存在该用户名 $conn = new mysqli("localhost", "username", "password", "database"); $sql = "SELECT * FROM users WHERE username='$username'"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 用户名已存在 echo "exist"; } else { // 用户名可用 echo "not exist"; } $conn->close(); ?> ``` 以上代码仅供参考,具体实现方式需要根据你的具体需求进行调整。同时,为保证系统安全性,需要对用户输入进行严格的校验和过滤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值