当我尝试提交一个JSF表单上其属性指与Bean验证注解的实体,那么JSF显示豆验证错误时,Bean验证限制被违反。JSF如何捕获/显示bean验证约束违规错误?
我在想:
- 当实体验证?
- 它是如何处理/联豆验证错误的看法?
当我尝试提交一个JSF表单上其属性指与Bean验证注解的实体,那么JSF显示豆验证错误时,Bean验证限制被违反。JSF如何捕获/显示bean验证约束违规错误?
我在想:
何时验证实体?
在JSF验证阶段,这是JSF生命周期的第三阶段中,收集和将所述提交的值(第二阶段)之间,并更新所述模型的值(第四相)英寸
它是如何处理/联豆验证错误的看法?
任何验证器(和转换器)异常消息被接通/存储在由FacesContext#addMessage()
加到FacesContext
一个FacesMessage
。所有这些消息又在其被绑定到特定输入组件
<input id="foo" value="#{bean.foo}" />
<h:message for="foo" />
<input id="bar" value="#{bean.bar}" />
<h:message for="bar" />
或全部一起在通用<h:messages/>
部件
<h:messages />
所有缺少验证消息将被记录或者一个<h:message>
组分单独显示到标准输出,或者当您在开发项目阶段运行时,在开发阶段警告消息会自动添加到视图中。
确认后发生的请求值被提交到服务器,但它们应用到模型bean之前。这确保了模型的完整性。在这个过程中有一个数据类型转换,如果JSF标准验证器和转换器不足以验证你的数据类型,你可以插入你自己的数据类型。本教程描述了JSF中提供的standard validators and converters。
编写自定义的验证,是指O'Reilly's book on JSF。
请注意,OP在谈论JSR303 Bean验证(这些标注像'@ NotNull','@ Pattern','@ Min','@ Max',等等),它也有自己创建自定义的验证方式。这与JSF自己的验证器无关。 – BalusC