3.8 验证数据
除了使用JSF内置的验证器和创建自定义的验证器,还可以使用Bean验证为一个backing bean定义指定的约束。
试想在一个简单的Web应用程序中有一个页面,其表单内包含多个文本字段:
假设每个文本字段绑定到一个托管Bean的属性,且该属性至少有一个相关的Bean验证约束注解:
每个h:inputText元素是由一个UIInput组件支持的,包含一个验证器实例,它的id和javax.faces.Bean相关联。与用户指定的验证约束关联的验证器的validate方法,在处理验证阶段被调用。
javax.faces.Bean标准验证器也确保每一个导致ConstraintViolation的模型数据被包装到FacesMessage中,并与所有其他类型的验证器一样添加到FacesContext中。然后,该消息与其他验证消息的处理一样显示给用户。
一个或多个验证组可以与一个输入标签关联:
这也可以用于创建跨多个页面的验证。
验证组也可以与一组输入标签关联:
在这段代码中,标识为#{person.name}和#{person.age}的字段的相关约束会被验证。
时间: 2024-11-13 06:31:34