在项目开发过程中,经常遇到像需要保证用户的名称、身份证、电话等唯一性。本例以身份证验证唯一来进行讲解。
jsp,对应的input框(我这使用的是公司自己封装的框架,这可以直接写input框)
在这里传入了两个参数,identity身份证号及SID,其中identity用来查询数据库中有没有相同的身份证号,SID用来判断查到的数据和传入的SID是不是相同(即用来判断是不是修改,修改的话是它本身,本身可以重复),当数据库中包含输入的数据的时候,将提交及保存按钮禁用,不允许提交保存。
以上是关于身份证的验证,用户名及电话等都可以采用这种方式。
jsp,对应的input框(我这使用的是公司自己封装的框架,这可以直接写input框)
<g2:textfield name="_M.identity" label="身份证" id="identity" maxlength="33" οnblur="onblurIdentity()"
placeholder="请输入程序员身份证号"
data-bv-notempty="true"
data-bv-notempty-message="程序员身份证号不能为空"
data-bv-message="程序员身份证号无效"
data-bv-regexp="true"
data-bv-regexp-message="校验格式不正确"
data-bv-regexp-regexp="[a-zA-Z]{2,6}[_][0-9]{2,6}"
/>
对应的JavaScript的部分
在这里传入了两个参数,identity身份证号及SID,其中identity用来查询数据库中有没有相同的身份证号,SID用来判断查到的数据和传入的SID是不是相同(即用来判断是不是修改,修改的话是它本身,本身可以重复),当数据库中包含输入的数据的时候,将提交及保存按钮禁用,不允许提交保存。
//身份证号
function onblurIdentity() {
$("#submit_id").attr({"disabled":false});
$("#save_id").attr({"disabled":false});
var identity=$("#identity").val();
var id=$("#primary_id").val();
$.ajax({url:"programmer!viewIdentity.do",
data :{"identity":identity,
"SID":id
},
dateType : "json",
success : function(data) {
var da=eval("("+data+")");
console.log(da);
if(da.data=='success') {
$("#submit_id").attr({"disabled":"disabled"});
$("#save_id").attr({"disabled":"disabled"});
alert("您所填写的身份证已存在,请重新输入!");
}
}
});
}
Java后台部分
/**
* 根据输入的身份证号查询数据库是否含有重复的
* TODO
*/
public void viewIdentity() {
try {
List<Programmer> exsisIdentityt = programmerBusiness.exsisIdentityt(identity);
if(exsisIdentityt.size()>0) {
if(SID!=null&!SID.equals("")) {
for (int i = 0; i < exsisIdentityt.size(); i++) {
if(exsisIdentityt.get(i).getId().equals(SID)) {
GboatAppContext.output(JsonResult.createSuccess("failure"));
}
}
}else {
GboatAppContext.output(JsonResult.createSuccess("success"));
}
}else {
GboatAppContext.output(JsonResult.createSuccess("failure"));
}
} catch (Exception e) {
e.printStackTrace();
}
// JsonResult.createFailure("failure");
}
以上是关于身份证的验证,用户名及电话等都可以采用这种方式。