《Java EE 7精粹》—— 3.8 验证数据

简介: javax.faces.Bean标准验证器也确保每一个导致ConstraintViolation的模型数据被包装到FacesMessage中,并与所有其他类型的验证器一样添加到FacesContext中。然后,该消息与其他验证消息的处理一样显示给用户。

本节书摘来异步社区《Java EE 7精粹》一书中的第3章,第3.8节,作者:【美】Arun Gupta,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.8 验证数据

除了使用JSF内置的验证器和创建自定义的验证器,还可以使用Bean验证为一个backing bean定义指定的约束。

试想在一个简单的Web应用程序中有一个页面,其表单内包含多个文本字段:

69bd1b14613d1447b0258f35fd734d1fa3f57616

假设每个文本字段绑定到一个托管Bean的属性,且该属性至少有一个相关的Bean验证约束注解:

71fe38a6388eac2acfdd85721fca8ae6eaf8a7d8

每个h:inputText元素是由一个UIInput组件支持的,包含一个验证器实例,它的id和javax.faces.Bean相关联。与用户指定的验证约束关联的验证器的validate方法,在处理验证阶段被调用。

javax.faces.Bean标准验证器也确保每一个导致ConstraintViolation的模型数据被包装到FacesMessage中,并与所有其他类型的验证器一样添加到FacesContext中。然后,该消息与其他验证消息的处理一样显示给用户。

一个或多个验证组可以与一个输入标签关联:

d6f6fea4c3c5f3a80b45b14274c180636a1e44c9

这也可以用于创建跨多个页面的验证。

验证组也可以与一组输入标签关联:

cd66ccffdc27019457bf29a58f3db1d053f6034d

在这段代码中,标识为#{person.name}和#{person.age}的字段的相关约束会被验证。

相关文章
|
18天前
|
安全 Java 大数据
|
2天前
|
Java 开发框架 XML
JDK、JRE、Java SE、Java EE和Java ME有什么区别?
JDK、JRE、Java SE、Java EE和Java ME有什么区别?
|
2天前
|
SQL Java
java处理数据查看范围
java处理数据查看范围
|
5天前
|
数据采集 机器学习/深度学习 Java
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
本文介绍了如何使用Java和Apache HttpComponents库从Facebook获取图像数据。通过设置爬虫代理IP以避免限制,利用HttpClient发送请求,解析HTML找到图像链接,然后下载并保存图片。提供的Java代码示例展示了实现过程,包括创建代理配置、线程池,以及下载图片的逻辑。注意,实际应用需根据Facebook页面结构进行调整。
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
|
11天前
|
存储 监控 Java
如何在Java中实现等待文件修改后再读取数据的功能?
如何在Java中实现等待文件修改后再读取数据的功能?
18 0
|
14天前
|
存储 Java Linux
【Java EE】 文件IO的使用以及流操作
【Java EE】 文件IO的使用以及流操作
|
14天前
|
存储 安全 Java
【Java EE】CAS原理和实现以及JUC中常见的类的使用
【Java EE】CAS原理和实现以及JUC中常见的类的使用
|
14天前
|
安全 Java 编译器
【Java EE】总结12种锁策略以及synchronized的实现原理
【Java EE】总结12种锁策略以及synchronized的实现原理
|
14天前
|
安全 Java 网络安全
深入理解Java异常处理网络安全与信息安全:保护数据的关键策略
【4月更文挑战第29天】本文将深入探讨Java中的异常处理机制,包括异常的概念、分类、捕获和处理等方面。通过详细的解析和实例演示,帮助读者更好地理解Java异常处理的原理和应用。 【4月更文挑战第29天】在数字化时代,数据成为最宝贵的资产之一。随着网络攻击的日益猖獗,了解并实施有效的网络安全和信息保护措施变得至关重要。本文将深入探讨网络安全漏洞的概念、加密技术的重要性以及提升个人和企业的安全意识的必要性。我们将分析当前的安全挑战,并提供一系列实用的防护策略,旨在帮助读者构建一个更加安全的数字环境。
|
14天前
|
Java 关系型数据库 MySQL
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术