验证用户名,昵称是否已经存在

        描述:用户输入一个值,要测试这个值是否已经存在,然后返回给前端结果

        (我这边是使用的ssm框架)

        首先,是在jsp传入值-->到前端控制器--到service,dao层-->到mapper返回结果


这边tenantId是当前的用户map中定义的是mapper中传入的,name是jsp传入的,这里我们判断是否存在是返回个数判断的,有则返回>0,无则是返回0(保证唯一性)


mapper是一个select查询,返回的map,这个参数需要注意的是我们在controller中的上图定义的,并不是pojo的,这边还有一个功能是模糊查询,有需要的可以看看


这是jsp的input表单,


这边就是使用ajax实现不刷新页面实现数据的处理

需要注意的点就是name要和input对应,然后需要处理的话用messages

显示的位子是上面隐藏的error

这样就完成了,下面说说小知识就是更新的时候,更新的时候比较复杂,因为当你修改的时候,比如你原本数据库的值为1,但是你改为2,可是又想改为1的时候,判断就有问题了,显示的是已经存在,所以下面说一下解决办法


首先在input中获取原来的值,将它赋予另外一个变量,并且隐藏


然后把它当作参数传到前端控制器判断就是最开始的equals,这样就可以避免重复改的问题了

HTML代码: ``` <form> <label>用户名:</label> <input type="text" id="username"> <br> <label>昵称:</label> <input type="text" id="nickname"> <br> <label>密码:</label> <input type="password" id="password"> <br> <label>确认密码:</label> <input type="password" id="confirm-password"> <br> <label>性别:</label> <input type="radio" name="gender" value="male">男 <input type="radio" name="gender" value="female">女 <br> <label>Email:</label> <input type="email" id="email"> <br> <button type="button" onclick="register()">注册</button> </form> ``` JavaScript代码: ``` function register() { var username = document.getElementById("username").value; var nickname = document.getElementById("nickname").value; var password = document.getElementById("password").value; var confirmPassword = document.getElementById("confirm-password").value; var gender = document.querySelector('input[name="gender"]:checked'); var email = document.getElementById("email").value; // 验证用户名、密码、email地址不能为空 if (username === "") { alert("用户名不能为空"); return; } if (password === "") { alert("密码不能为空"); return; } if (email === "") { alert("Email地址不能为空"); return; } // 验证Email地址格式是否正确 var reg = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/; if (!reg.test(email)) { alert("Email地址格式不正确"); return; } // 注册成功 alert("注册成功"); } ``` 在失去焦点时,可以使用`onblur`事件来验证输入框的内容是否为空。例如: ``` <input type="text" id="username" onblur="validateUsername()"> ``` JavaScript代码: ``` function validateUsername() { var username = document.getElementById("username").value; if (username === "") { alert("用户名不能为空"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值