【问题标题】:Java Server Faces: Validation only in business logic tierJava Server Faces:仅在业务逻辑层进行验证
【发布时间】:2013-12-31 18:34:24
【问题描述】:

我有一个 Java Server Faces Web 应用程序,但不确定如何处理验证。

在我看来,验证应该在业务逻辑层中完成。业务逻辑层用于 Web 表示 (jsf) 和 REST-API。

目前我也在使用提供的验证器在 jsf 层内进行验证。我认为在大多数情况下,这只是代码的重复。有什么办法可以避免这种代码重复? java 服务器端是否能够使用我在业务逻辑层中抛出的验证异常?

【问题讨论】:

    标签: validation jsf


    【解决方案1】:

    Bean Validation 正是针对这种情况而发明的。

    您使用约束注释您的实体,这些约束将被您的业务逻辑(通过 EJB、CDI 和/或 JPA)以及 JSF 遵守。

    对于您无法通过 Bean Validation 表达但真正与业务相关的少量验证;是的,抛出一个异常,在你的支持 bean 中捕获它并设置一个相应的 Faces 消息(提示:使用OmniFaces' Messages 使这更容易)。同样,对于您无法用 Bean Validation 表达的少量验证,并且这些验证非常面向视图;使用 JSF 原生验证器。

    【讨论】:

      猜你喜欢
      • 2016-03-14
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 2011-12-03
      • 2011-11-26
      • 2017-04-29
      • 2016-08-12
      • 2013-08-07
      相关资源
      最近更新 更多