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","用户名不可用")}}});});
