13.07.2015 Views

JSR 303 的参考实现使用指南 - JBoss

JSR 303 的参考实现使用指南 - JBoss

JSR 303 的参考实现使用指南 - JBoss

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

校 验 约 束2.2. 校 验 约 束Validator 是 Bean Validation 中 最 主 要 的 接 口 , 我 们 会 在 第 5.1 节 “Configuration和 ValidatorFactory” 中 详 细 介 绍 如 何 获 取 一 个 Validator 的 实 例 , 现 在 先 让 我 们 来 看 看 如 何 使用 Validator 接 口 中 的 各 个 方 法 .2.2.1. 获 取 一 个 Validator 的 实 例对 一 个 实 体 对 象 验 证 之 前 首 先 需 要 有 个 Validator 对 象 , 而 这 个 对 象 是 需 要 通 过 Validation 类 和ValidatorFactory 来 创 建 的 . 最 简 单 的 方 法 是 调 用 Validation.buildDefaultValidatorFactory() 这 个静 态 方 法 .例 2.8. Validation.buildDefaultValidatorFactory()ValidatorFactory factory = Validation.buildDefaultValidatorFactory();Validator validator = factory.getValidator();第 5 章 Bootstrapping 介 绍 了 其 他 的 获 取 Validator 实 例 的 方 法 . 现 在 我 们 的 目 标 是 学 习 如 何 使用 Validator 来 校 验 实 体 对 象 .2.2.2. Validator 中 的 方 法Validator 中 有 三 个 方 法 能 够 被 用 来 校 验 整 个 实 体 对 象 或 者 实 体 对 象 中 的 属 性 .这 三 个 方 法 都 会 返 回 一 个 Set 对 象 , 如 果 整 个 验 证 过 程 没 有 发 现 问 题 的 话 , 那么 这 个 set 是 空 的 , 否 则 , 每 个 违 反 约 束 的 地 方 都 会 被 包 装 成 一 个 ConstraintViolation 的 实 例 然 后添 加 到 set 当 中 .所 有 的 校 验 方 法 都 接 收 零 个 或 多 个 用 来 定 义 此 次 校 验 是 基 于 哪 个 校 验 组 的 参 数 . 如 果 没 有 给 出 这个 参 数 的 话 , 那 么 此 次 校 验 将 会 基 于 默 认 的 校 验 组 (javax.validation.groups.Default). 第 2.3 节“ 校 验 组 ”2.2.2.1. validate使 用 validate() 方 法 对 一 个 给 定 的 实 体 对 象 中 定 义 的 所 有 约 束 条 件 进 行 校 验 ( 例 2.9“Validator.validate() 使 用 方 法 ” ).例 2.9. Validator.validate() 使 用 方 法ValidatorFactory factory = Validation.buildDefaultValidatorFactory();Validator validator = factory.getValidator();Car car = new Car(null);Set constraintViolations = validator.validate(car);13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!