后端校验JSR303

1、到maven中下载jar包

添加到pom.xml文件中

                <!-- JSR303数据校验支持,必须是tomcat7及以上版本的服务器 -->
		<!-- tomcat7只支持5.x.x的版本,如果是6.x.x及以上的版本,tomcat版本要求更高 -->
		<!-- tomcat7以下版本的服务器,el表达式不强大,要额外给tomcat的lib包中替换新的标准的el -->
		<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
		<dependency>
		    <groupId>org.hibernate</groupId>
		    <artifactId>hibernate-validator</artifactId>
		    <version>5.4.1.Final</version>
		</dependency>

2、在实体类中加上校验注解

    @Pattern(regexp="(^[a-zA-Z0-9_-]{6,16}$)|(^[\u2E80-\u9FFF]{2,5})",
    		message="用户名必须是2-5位中文或者6-16位英文和数字的组合")
    private String empName;


    //如果在正则表达式中有单斜杠“\”,要替换成双斜杠“\\”
    @Pattern(regexp="^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$",
    		message="邮箱格式不正确")
    private String email;

3、在后台获取校验信息

        /**
	 * 新增员工
	 * @param employee
	 * @return
	 */
	@RequestMapping(value="/emp",method=RequestMethod.POST)
	@ResponseBody
	//@Valid代表Employee里的数据要进行校验,BindingResult代表封装校验的结果
	public Msg saveEmp(@Valid Employee employee,BindingResult result){
		//如果结果中有校验失败,不保存信息,并返回到页面校验失败
		if(result.hasErrors()){
			Map<String,Object> map = new HashMap<String, Object>();
			//获取校验失败信息
			List<FieldError> fieldErrors = result.getFieldErrors();
			for (FieldError fieldError : fieldErrors) {
				//错误字段名:fieldError.getField(),错误信息:fieldError.getDefaultMessage()
				map.put(fieldError.getField(), fieldError.getDefaultMessage());
			}
			return Msg.fail().add("errorFields", map);
		}else{
			employeeService.saveEmp(employee);
			return Msg.success();
		}
		
	}

4、页面获取校验失败的信息

	$.ajax({
		type : "POST",
		url : "${APP_PATH}/emp",
		data : $("#emps_add_modal form").serialize(),
		success : function(result) {
			if(result.code==100){
				//关闭模态框
				$('#emps_add_modal').modal('hide');
				//显示新添加的数据
				to_page(totalRecord);
			}else{
				//判断校验字段是否有错误信息,undefined代表没有
				if(undefined != result.extend.errorFields.empName){
					//显示错误信息
					alert(result.extend.errorFields.empName);
				}
				if(undefined != result.extend.errorFields.email){
					alert(result.extend.errorFields.email);
				}
			}
			
		}
	});

以上就是JSR303校验的使用步骤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值