SSM之检验用户名是否重复

1.controller(事务处理)层方法
/***
*检验学院名是否重复(是否可用) ResponseBody:返回的是json数据
* @param xueyuan_name
* @param response
*/

@RequestMapping("/check")
@ResponseBody
public void checkout(@RequestParam("xueyuan_name") String xueyuan_name,HttpServletResponse
		response){
	System.out.println("检验执行");
	PrintWriter out = null;
	 try {
		out = response.getWriter();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	//调用service层方法findXueyuan(xueyuan_name)
	List<Xueyuan> list=xueyuanService.findXueyuan(xueyuan_name);
	//if(null != list && !list.isEmpty())  判断集合是否为空,如果为空说明当前没有学院名,否则改学院已经存在
    if(list.isEmpty()){
    	out.print("1");
    }else{
    	out.print("2");
    }
    out.flush();
    out.close();
}

2.Mapper层动态SQL语句
sql查询语句去数据库里查询是否存在相同学院名

<select id="findXueyuan"  parameterType="cn.ydf.ssm.entity.Xueyuan" resultMap="XueyuanResult">
	select * from t_xueyuan where xueyuan_name = #{xueyuan_name}
</select>

3.前端发送ajax验证
校验学院名是否可用,及表单验证是否通过

//校验表单数据
function validate_add_from(){
	//拿到校验数据,使用正则表达式
	var xueyuan_name = $("#xueyuan_name_add_input").val();
	var regname = /(^[a-zA-Z0-9_-]{2,10}$)|(^[u4e00-\u9fa5]{2,10}$)/;
	if(!regname.test(xueyuan_name)){
		show_validate_msg("#xueyuan_name_add_input", "error", "学院可以是2-10位中文或者2-10位英文和数字的组合");
		return false;
	}else{
		show_validate_msg("#xueyuan_name_add_input","success","");
	};
       return true;
   } 
   
    function show_validate_msg(ele,status,msg){ 
    //清除当前元素的校验状态
    $(ele).parent().removeClass("has-success has-error");
    $(ele).next("span").text("");
    if("success"==status){ 
   	 $(ele).parent().addClass("has-success"); 
   	 $(ele).next("span").text(msg);
    }else if("error" == status){ 
   	 $(ele).parent().addClass("has-error"); 
   	 $(ele).next("span").text(msg); 
   	 } 
    }
//发送ajax请求校验用户名是否可用
$("#xueyuan_name_add_input").change(function(){
	var xueyuan_name = this.value;
	$.ajax({
		url:"${PATH}/xueyuan/check",
		data:"xueyuan_name="+xueyuan_name,
		type:"POST",
		success:function(data){
			if(data=="1"){
				show_validate_msg("#xueyuan_name_add_input","success","学院名可用");
				$("#xueyuan_save_btn").attr("ajax-va","success");
			}else
			{
				show_validate_msg("#xueyuan_name_add_input","error","学院名重复");
				$("#xueyuan_save_btn").attr("ajax-va","error");
			}
		}
	});
});
//发送ajax请求保存事件(点击保存提出请求)
$("#xueyuan_save_btn").click(function(){
   //判断表单是否通过
   if(!validate_add_from()){
	   return false;
  }; 
  //判断之前的ajax学院名是否重复
  if ($(this).attr("ajax-va")=="error"){
      return false;
  }
  });

猜你喜欢

转载自blog.csdn.net/qq_41107231/article/details/84109601
今日推荐