2

我正在使用 JSF 2 和 Primefaces。但是我现在需要做一些更复杂的验证,特别是跨字段验证,也许还有一些涉及表达式语言的验证(这样我就可以在我的 xhtml 页面中进行条件验证)。

我不认为我可以用我当前的设置来做这些,但我一直在阅读我可以使用的各种其他插件,例如:

  • 接缝
  • 外部值
  • JSR303

只是想知道最推荐的方法是什么。ExtVal 是否需要 MyFaces 作为先决条件?如果是这样,MyFaces 会与 PrimeFaces 冲突吗?

我已经用不同的罐子做了一些试验,并遇到了一些看起来像冲突的东西,所以感谢任何反馈。

[更新] 根据我的评论,我使用了 OmniFaces,这只是下载 jar 文件然后将命名空间添加到我的页面的情况:

...
      xmlns:o="http://omnifaces.org/ui"
      xmlns:of="http://omnifaces.org/functions"
...

然后我将此用作测试用例(以确保密码和确认密码都相同,但仅当其中一个具有值时)。这很容易解决我的两个“问题”。

<o:validateEqual id="equal" components="password confirmPassword" disabled="#{editUserAdminController.user.password != '' || editUserAdminController.user.confirmPassword}"/>

谢谢

4

1 回答 1

2

编辑:JSF 可以使用一个实现,JSR303以防应用程序/服务器提供一个。跨领域验证有点棘手,但绝对可以使用可用的技术来完成。

您可能还想看看OmniFaces 库——它具有跨领域验证以及许多其他有用的功能,并且不依赖于特定的 JSF 框架。

于 2012-09-11T11:39:30.120 回答