JSF2とPrimefacesを使用しています。しかし、今度はもっと複雑な検証、具体的にはクロスフィールド検証と、おそらく式言語を含むいくつかの検証を行う必要があります(xhtmlページで条件付き検証を行うことができます)。
現在の設定ではこれらを実行できないと思いますが、次のような他のさまざまなアドオンについて読んでいます。
- 縫い目
- ExtVal
- JSR303
最も推奨されるアプローチは何であるか疑問に思っていました。ExtValには前提条件としてMyFacesが必要ですか?もしそうなら、MyFacesはPrimeFacesと競合しますか?
私はさまざまなjarファイルを少し試しましたが、いくつかの競合のように見えるものに遭遇したので、フィードバックをいただければ幸いです。
[更新]私のコメントによると、私はOmniFacesを使用しました。これは、jarファイルをダウンロードしてから名前空間をページに追加した場合です。
...
xmlns:o="http://omnifaces.org/ui"
xmlns:of="http://omnifaces.org/functions"
...
そして、これをテストケースとして使用しました(passwordとconfirmPasswordが両方とも同じであることを確認しますが、どちらか一方に値がある場合のみ)。これは私の両方の「問題」を非常に簡単に解決します。
<o:validateEqual id="equal" components="password confirmPassword" disabled="#{editUserAdminController.user.password != '' || editUserAdminController.user.confirmPassword}"/>
ありがとう