1.在index.jsp 页面点击新增
2.弹出新增对话框
3.去数据库查询部门列表,显示在对话框中
4.用户输入数据完成保存,完成校验
jq前端校验 ajax用户名重复校验 后端校验(重要数据,唯一约束)
@Pattern(regexp = “(^[a-zA-Z0-9_-]{6,16}$)|(^[**\u2E80-\u9FFF]{2,5})”
,message = “用户名必须是6-16位数字和字母的组合或者2-5位中文“)
private String empName**;
private String gender;
@Pattern(regexp = “^([a-z0-9_**\.-]+)@([\da-z\.-]+)\.([a-z\**.]{2,6})$”,
message = “**邮箱格式不正确【JSR303】**”)
private String email;
uri:
/emp/{id} get 查询员工
/emp post 保存emp
/emp/{id} put 修改emp
/emp/{id} delete 删除emp
模态框显示
<%--模态框--%>
<%--员工添加的模态框--%>
<div class="modal fade" tabindex="-1" role="dialog" id="empAddModal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">员工添加</h4>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="form-group">
<label for="empName_add_input" class="col-sm-2 control-label">员工姓名</label>
<div class="col-sm-10">
<input type="text" name="empName" class="form-control" id="empName_add_input" placeholder="empName">
</div>
</div>
<div class="form-group">
<label for="email_add_input" class="col-sm-2 control-label">邮箱</label>
<div class="col-sm-10">
<input type="text" name="email" class="form-control" id="email_add_input" placeholder="email@atguigu.com">
</div>
</div>
<div class="form-group">
<label for="empName_add_input" class="col-sm-2 control-label">性别</label>
<div class="col-sm-10">
<label class="radio-inline">
<input type="radio" name="gender" id="gender1_add_input" value="M" checked="checked"> 男
</label>
<label class="radio-inline">
<input type="radio" name="gender" id="gender2_add_input" value="F"> 女
</label>
</div>
</div>
<div class="form-group">
<label for="empName_add_input" class="col-sm-2 control-label">部门名称</label>
<div class="col-sm-4">
<%--提交部门id--%>
<select class="form-control" name="dId">
<option>1</option>
</select>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary">保存</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
ajax显示部门信息
/*点击新增按钮弹出模态框*/
$("#emp_add_modal_btn").click(function () {
/*发送AJAX请求查出部门信息,显示在下拉列表*/
getDepts();
/*弹出模态框*/
$("#empAddModal").modal({
backdrop:"static"
});
});
/* 查出所有的部门信息显示在下拉列表中*/
function getDepts() {
/*清空下拉框*/
$("#dept_add_select").empty();
$.ajax({
url:"${PATH}/depts",
type:"get",
success:function (result) {
/*{"code":100,"msg":"处理成功",
"extend":{"depts":[{"deptId":1,"deptName":"开发部"},{"deptId":2,"deptName":"测试部"}]}}*/
// console.log(result);
/*显示部门信息在下拉列表中*/
// $("#empAddModal select").append("")
$.each(result.extend.depts,function (index,item) {
var option = $("<option></option>").append(this.deptName).attr("value",this.deptId);
option.appendTo("#empAddModal select");
});
}
});
}
保存操作
/*点击保存,保存员工*/
$("#emp_save_btn").click(function () {
/*1.模态框中填写的数据提交给服务器进行保存*/
/*先对要提交给服务器的数据进行校验*/
if(!validite_add_form()){
return false;
}
/*2.发送ajax请求保存emp*/
$.ajax({
url:"${PATH}/emp",
type:"post",
data: $("#empAddModal form").serialize(),
success:function (result) {
// alert(result.msg);
/*员工保存成功*/
/*关闭模态框*/
$("#empAddModal").modal("hide");
/*来到最后一页,显示保存的数据*/
/*发送ajax请求显示最后一页数据*/
toPage(totalRecord);
}
});
});
校验表单数据
/*校验表单数据*/
function validite_add_form(){
/*1.获取需要校验的数据,使用正则表达式*/
var empName = $("#empName_add_input").val();
var regName = /(^[a-zA-Z0-9_-]{6,16}$)|(^[\u2E80-\u9FFF]{2,5})/;
if(!regName.test(empName)){
// alert("用户名可以是2-5位中文或者6-16英文和数字组合");
/*清空这个元素之前的样式*/
show_validate_msg("#empName_add_input","error","用户名可以是2-5位中文或者6-16英文和数字组合");
return false;
}else{
show_validate_msg("#empName_add_input","success","");
}
/*2.校验邮箱信息*/
var email = $("#email_add_input").val();
var rgxEmail = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/;
if(!rgxEmail.test(email)){
// alert("邮箱格式不正确");
// $("#email_add_input").parent().addClass("has-error");
// $("#email_add_input").next("span").text("邮箱格式不正确");
show_validate_msg("#email_add_input","error","邮箱格式不正确");
return false;
}else{
// $("#email_add_input").parent().addClass("has-success");
// $("#email_add_input").next("span").text("");
show_validate_msg("#email_add_input","success","");
}
return true;
}
文本框下的消息提示
function show_validate_msg(ele,status,msg){
/*清楚当前元素的样式*/
$(ele).parent().removeClass("has-success has-error");
$(ele).next("span").text("");
if(status == "success"){
$(ele).parent().addClass("has-success");
$(ele).next("span").text(msg);
}else if("error" == status){
$(ele).parent().addClass("has-error");
$(ele).next("span").text(msg);
}
}
校验用户名是否可用
/*校验用户名是否可用*/
$("#empName_add_input").change(function () {
/*发送 ajax 请求校验用户名是否可用*/
var empName = this.value;
$.ajax({
url:"${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","用户名不可用")
}
}
});
});