CRUD(25):新增-校验用户名是否重复
一、在EmployeeController里面添加一个校验用户名是否可用的方法;
//校验用户名是否可用
@ResponseBody
@RequestMapping("/checkuser")
public Msg checkuser(@RequestParam("empName")String empName) {
boolean b = employeeService.checkUser(empName);
if(b) {
return Msg.success();
}else {
return Msg.fail().add("errorFields", map);
}
}
二、在EmployeeService里面添加一个校验用户名是否重复的方法;
//校验用户名是否重复
public boolean checkUser(String empName) {
EmployeeExample example = new EmployeeExample();
Criteria criteria = example.createCriteria();
criteria.andEmpNameEqualTo(empName);
long count = employeeMapper.countByExample(example);
return count==0;
}
三、发送ajax请求校验用户名是否重复;
$("#empName_add_input").change(function(){
//发送ajax请求校验用户名是否可用
var empName = this.value;
$.ajax({
url:"${APP_PATH}/checkuser",
data:"empName="+empName,
type:"POST",
success:function(result){
if(result.code==100){
show_validate_msg("#empName_add_input",
"success", "用户名可用√");
}else{
show_validate_msg("#empName_add_input",
"error", "用户名重复");
}
}
});
});
四、每次点新增的时候,对话框不要保存上一次的数据,表单数据全部重置,防止校验错误,数据重复。
function show_validate_msg(ele, status, msg){
//清除校验状态
$(ele).parent().removeClass("has-success has-error");
if ("success" == status) {
$(ele).parent().addClass("has-success");
$(ele).next().text(msg);
} else if ("error" == status) {
$(ele).parent().addClass("has-error");
$(ele).next().text(msg);
}
}
五、校验用户名细节处理
先判断用户名是否是合法的表达式,再在数据库中重复校验用户名。
function reset_form(ele) {
//清除表单数据
$(ele)[0].reset();
//清空表单样式
$(ele).find("*").removeClass("has-success has-error");
$(ele).find(".help-block").text("");
}
浙公网安备 33010602011771号