Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

PrimeFacesのCalendar日付変換挙動に悩ましいパターンが…

今日はかなりしょうもないネタです(^^;一緒に開発してるメンバが発見して面白かったのでもらいました。否、仕様としてどうするか悩むので実際面白くはないのですが…。

PrimeFacesのCalendarでは、以下のように日付が選択できます。

カレンダーで日付を選びます
f:id:kikutaro777:20130219214202j:plain

テキストに反映されます
f:id:kikutaro777:20130219214242j:plain

至極ふつーです。

で、日付を手入力で「2013年13月19日」とかにして、ボタンイベントとかで反映します。
f:id:kikutaro777:20130219214541j:plain

13月ってなんじゃい!!!バリデーションエラーや!

と思ってたんですが、結果は…
f:id:kikutaro777:20130219214556j:plain
どーん

2014年1月19日

ある意味ちゃんと計算してくれてる(^^;繰り上げて
他に45日とか入れても正しく計算して月と日を表示したり…。

自分の使い方が微妙なのか?と以下PrimeFacesのShowcaseでも確認しましたが、同じでした。実際触ってみたい方は以下よりどうぞ(^^;

PrimeFacesのCalendarコンポShowcase

テキストに日付を入れて
f:id:kikutaro777:20130219215112j:plain

submitボタン押すとダイアログがでます
f:id:kikutaro777:20130219215118j:plain

ダイアログ上に変換された日付がでてます(^^)

いいじゃんいいじゃんー、って思うのですが、これが業務系のシステムだと考え方が色々あって仕様として微妙なケースも。。。

- 計算されるんで便利ですよねー、とか言ってみる
 →入れた人が気づかずに意図したのと違う日にちになって危ないだろ!と言われる

- いっそ読み取り専用にしてカレンダーからしか選べないようにしましょうか
 →直接打つ派が不便だよ!と言われる

- じゃあどうしたら…?
 →バリデーションでエラーにしなさいな!!

今作ってるモノは多言語対応なので、バリデーションがyyyy/MM/ddとも限らず、ちょっと手間なので、なるべくコンポーネントの純粋な動きを採用したいですが悩ましい所です。

これってPrimeFacesっていうよりjQueryの挙動なのかな。
業務システムってむずいです。

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ Javaへ
にほんブログ村