有关Bean验证与JSF验证的问题?

时间:2011-09-25 10:49:22

标签: jsf jsf-2 bean-validation

我对Bean验证和JSF验证有一些疑问,目前我正在使用Bean验证:

  1. 使用JSF验证,验证仅适用于客户端,没有请求发送到服务器,Bean验证在服务器上有效吗?
  2. 如果javascript被禁用,两者都可以使用JSF& Bean验证,还是只有bean验证?
  3. Bean验证有什么缺点?

1 个答案:

答案 0 :(得分:4)

  1. 事实并非如此。验证在jsf生命周期中由Process Validations应用。

      

    “转换和验证在JSF运行时调用时发生   视图层次结构中每个组件的processValidators()方法。   processValidators()方法将首先启动任何数据转换   在验证组件值之前需要的   应用程序的验证规则。如果在期间有任何错误   转换或验证过程组件被标记为无效和   生成错误消息并在FacesContext对象中排队。   如果组件标记为无效,则JSF直接前进到渲染   响应阶段,它将显示排队的当前视图   验证错误消息。如果没有验证错误,JSF   进入更新模型值阶段。“ - johnderinger.wordpress.com

    您还可以在the specification

  2. 中找到此信息
  3. 两者都没有javascript

  4. 这更像是编程风格的问题。我认为模型中的验证比在视图中更好,因为它从视图中删除逻辑并且更干(不要重复自己)。如果多次使用bean,则必须使用bean验证仅编写一次验证。您还应该知道bean验证会覆盖JSF中的约束。

    有关如何使用bean验证的更多信息,您可以找到here和规范here。 有关集成JSF验证的更多信息,请访问this site