0

現在のプロジェクトの struts 2 で検証を行おうとしています。検証メッセージをグループ化する必要があります。例: 空のフィールドが 3 つあり、フォーマットが正しくない他のフィールドが 3 つある場合、「次のフィールドが必要です: フィールド 1、フィールド 2、フィールド 3 次のフィールドのフォーマットが無効です」のようなメッセージを取得する必要があります。 : フィールド 4、フィールド 5、フィールド 6"

fieldError にパラメータを指定してみました。例:
< s : fielderror >
< s : param value="%{requiredstring}"/>
</ s : fielderror>

私によると、これは「検証タイプが必須文字列であるすべてのエラーを表示する」と指定するようなものです。間違っている場合は修正してください。ただし、これにより、空のフィールドごとに毎回「次のフィールドが必要です」というメッセージが表示されます。一度だけ表示したい。

xmlによる検証を使用して、stuts2でこれをきれいに行う方法はありますか? 検証メソッドですべての検証を行いたくありません。

ありがとう

4

1 に答える 1

0

あなたは間違っている; なぜあなたがそれがうまくいくと思ったのか私にはわかりません.ドキュメントはそれが可能であることを暗示していません.

フィールド エラーとは、特定のフィールドのエラーです。検証タイプなど、任意の基準でエラーをグループ化する必要がある場合は、それを自分で実装する必要があります。

カスタム検証インターセプターを作成する、別の方法でエラーをグループ化するバリデーターを提供する、アクションまたは検証メソッドで適切なメッセージを単に収集するなど、これを行うにはいくつかの方法があります。

メッセージの内容に基づいてエラーを収集できますが、IMO は脆弱です。これがクロスアプリケーションの問題である場合は、別の方法で実行することをお勧めします。

とはいえ、必ずしもフォームを反映しているとは限らない順序でエラー メッセージを表示することで、ユーザーの認知的オーバーヘッドを押し上げることになります。どのフィールドが同じエラーを共有しているかを伝えるメッセージのグループを見たくありません。各フィールドの何が問題なのかを確認するには、フィールドがフォームに表示されるのと同じ順序で、できればフォーム フィールド自体の近くに表示されます。

于 2011-10-15T14:39:19.910 に答える