1.简介
数据校验是任何一个应用程序都会用到的功能,无论是显示层还是持久层. 通常,相同的校验逻辑会分散在各个层中, 这样,不仅浪费了时间还会导致错误的发生(译注: 重复代码). 为了避免重复, 开发人员经常会把这些校验逻辑直接写在领域模型里面, 但是这样又把领域模型代码和校验代码混杂在了一起, 而这些校验逻辑更应该是描述领域模型的元数据.
JSR 303 - Bean Validation规范 - 为Bean验证定义了元数据模型和API. 默认的元数据模型是通过Annotations来描述的,但是也可以使用XML来重载或者扩展. Bean Validation API 并不局限于应用程序的某一层或者哪种编程模型, 例如,如图所示, Bean Validation 可以被用在任何一层, 或者是像类似Swing的富客户端程序中.
2.实现
Hibernate Validator是JSR303的参考实现,本文将使用它来说明JSR303的使用方法。
注:hibernate-validator-4.*为JSR303的最新实现,hibernate-validator-5.*为JSR349 Bean Valildation 1.1的实现。
3.参考资料
JSR303官网 http://jcp.org/en/jsr/detail?id=303
Hibernate Validator官网 http://www.hibernate.org/subprojects/validator.html
相关推荐
简介 smart-doc是一款同时支持JAVA REST...支持JavaBean上的JSR303参数校验规范,包括分组验证。 对JSON请求参数的接口能够自动生成模拟JSON参数。 对一些常用字段定义能够生成有效的模拟值。 支持生成JSON返回值示例。
URL 映射、文件上传、JSON 解析、JSR303 验证框架、跨域访问、通用错误处理 2018-2018031401:04-ch04-view 第四章《视图技术》学习源码 Beetl 模版引擎、JSON 技术 2018-2018062501:05-ch05-data 第五章...
JSR 303 数据校验框架 如何使用注解驱动的校验 使用校验功能时,处理方法要如何签名?? 校验错误信息存放在什么地方?? 页面如何显示错误信息 如何对错误信息进行国际化(1) 如何对错误信息进行国际化(2) 目录 数据...
JSR 303 数据校验框架 如何使用注解驱动的校验 使用校验功能时,处理方法要如何签名?? 校验错误信息存放在什么地方?? 页面如何显示错误信息 如何对错误信息进行国际化(1) 如何对错误信息进行国际化(2) ...
JSR303 验证、标准API模型,错误码、异常处理封装 请求埋点,返回头添加X-Trace-Id,通过MDC在日志中埋入线程ID; Redis 封装,序列化 RestTemplate 线程池、证书请求及默认属性约定 Spring Boot 异步线程配置 跨域
1.1.3 jcp与jsr 6 1.1.4 建议的学习路径 7 1.2 jvm/jre/jdk 11 1.2.1 什么是jvm 11 1.2.2 区分jre与jdk 14 1.2.3 下载、安装jdk 15 1.2.4 认识jdk安装内容 18 1.3 重点复习 19 1.4 课后练习 20 ...
使用为模型数据验证设立的新的JSR-303bean验证标准。创建可以使用Ajax的定制用户界面组件。使用定制的非用户界面组件来扩展JSF。管理安全、可访问性、国际化和本地化。学会使用Liferay的JSF团队领导开发的JSF和...
使用为模型数据验证设立的新的JSR-303bean验证标准。创建可以使用Ajax的定制用户界面组件。使用定制的非用户界面组件来扩展JSF。管理安全、可访问性、国际化和本地化。学会使用Liferay的JSF团队领导开发的JSF和...
8.12 使用注解(JSR-303)的Bean校验 341 8.12.1 问题 341 8.12.2 解决方案 342 8.12.3 工作原理 342 8.13 创建Excel和PDF视图 344 8.13.1 问题 344 8.13.2 解决方案 345 8.13.3 工作原理 345 8.14 ...
8.12 使用注解(JSR-303)的Bean校验 341 8.12.1 问题 341 8.12.2 解决方案 342 8.12.3 工作原理 342 8.13 创建Excel和PDF视图 344 8.13.1 问题 344 8.13.2 解决方案 345 8.13.3 工作原理 345 8.14 ...