0

私は現在、グラスフィッシュで実行されている JSF 2 アプリケーション (primefaces を使用) に取り組んでいます。私たちのデータモデルは標準 (AIXM) であるため、変更することはできません。検証規則はモデルで定義されます。

私たちのアプリケーションでは、GUI はモデルを正確に反映していません。たとえば、モデルの一部のフィールドは表示されません (ユーザー入力から計算されます)。このモデルには、オブジェクトのリスト間の論理関係を表現できる ConditionCombination クラスもあります。このアプリケーションでは、これらのオブジェクト リストのうち 2 つだけを使用します。したがって、ConditionCombination のいくつかの属性を計算します。

クロス フィールド検証 (JSF 検証メカニズムを使用して行うのは難しいようです) があるため、モデル レベルで検証を行うことにしました。ただし、一部のエラー メッセージはユーザーにとって意味がありません。たとえば、一部のエラー メッセージは、ユーザーには表示されないフィールドにあります。

この検証を改善する方法についてのアイデアはありますか? (または、代わりに JSF レベルで実装し、すべての検証ルールをモデルの観点からビューの観点に書き直す必要があります)

4

1 に答える 1

1

あなたが使用することができますFacesContext context = FacesContext.getCurrentInstance(); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Your message here", null));

モデルにコードを記述し、カスタム メッセージの上記のコードを追加するだけです。

于 2012-08-01T10:01:57.647 に答える