dd/MM/yyyy のような、struts の日付の入力形式を強制する方法があるかどうかを知りたいです。
日付はテキスト フィールドに書き込まれます。これはロケールに依存する問題であると読みましたが、単純な形式の変更のためにロケールを切り替えるのは多すぎるようです。
Action クラスのメソッド内で呼び出すことができることはわかってaddFieldError(fieldName, errorMessage)
いますが、日付形式を Action-validation.xml ファイルで構成することを考えるべきだったように感じます。プロパティファイルでこれを構成するために検索しましたが、実際の例は見つかりませんでした。
カスタムStrutsTypeConverter
を使用addFieldError(fieldName, errorMessage)
していて、それを行う唯一の方法ですか? または、テキストフィールドに入力された日付形式を指定できる別バージョンの struts はありますか?
アップデート:
私は自分自身を十分に明確にしたと思いましたが、いくつかの答えはそうではありません。
ユースケースは次のとおりです。ユーザーがテキストフィールドに任意の形式で日付を手動で入力すると、struts2 は日付形式がプログラマーによって設定された形式に対応しているかどうかを検証し、それに応じてメッセージを表示します。
タグ付きのjQuery日付ピッカーは、<s:date>
私が達成したいことの代わりになる可能性がありますが、それは私が求めたものではありません. さらに、Javascript を無効にして、日付ピッカーを役に立たなくすることができます。私が理解している限り、jQuery は Javascript ライブラリです。
質問する
1742 次
2 に答える
0
私のアクションは実装されModelDriven
ましたが、日付形式をテキスト フィールドで強制的に指定することはできません。独自のバリデーターを使用しましたが、フォーム要素のマッピングをString
アクション クラスの名前付きに変更し、バリデーターを使用しました。リソース バンドルから取得しSimpleDateFormat
た形式を使用して日付に変換し、日付を再度形式設定して、表現がテキスト フィールドに入力されたものと同じかどうかを確認します。結局、フォーマットが明確であることはほとんどありません。
私がそれらを歓迎する他の提案がある場合、これが唯一の選択肢のようです.
この欠点は、少なくとも厄介だと思います。
于 2013-08-08T12:36:25.833 に答える