什么是 JSR303
JSR 是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。
常见的有:
-
Java Servlet 3.0 (JSR 315)
-
Java Date与Time API ( JSR 310)
-
Bean Validation 1.0 (JSR 303)
等
Validator + BindingResult获取校验信息
该方法将不会抛出异常 【类似异常捕获】
-
通过 BindingResult 获取校验信息返回
/** * BindingResult 获取参数的校验信息 * * 参数校验失败的 code 10086 */ @RequestMapping("addUserInfo") public R addUserInfo(@Validated User user, BindingResult result){ // result.hasErrors() 有没有存在校验失败的情况 if (result.hasErrors()) { // 获取所有参数校验的异常信息 封装R对象中响应 // getFieldErrors() 获取所有校验失败的属性 Map map = new HashMap(); List<FieldError> fieldErrors = result.getFieldErrors(); for (FieldError fieldError : fieldErrors) { // fieldError.getDefaultMessage() 获取参数校验的信息 map.put(fieldError.getField(),fieldError.getDefaultMessage()); } return R.error(10086,"参数校验失败").put("data",map); } return R.ok(); }
分组校验
......