2011-05-12 15 views
1

私はFlexでmx:DateFieldを使用しています。日付ピッカーでうまく動作しますが、編集可能にする必要があるので、editable = "true"に設定してください。入力時のデータのフレックスフォーマット入力(日付フィールド/日付)?

問題は、formatString = "YYYY-MM-DD"が設定されていても、ユーザーが希望するものを入力できることです。日付ピッカーはこの形式を尊重しますが、ユーザーがMM/DD/YYYYの形式で入力すると、ガベージデータを入力することもできます。

データバリデータを設定して、有効な日付で、フレックスドキュメントの適切な形式であることを確認できますが、テキストフィールドがどこにあるのか他の言語で見たことがあります"0000-00-00"のようなものを表示し、ユーザーがフィールドをクリックすると数字(零)だけを変更できるようになり、アルファベットを入力したり、長さを追加/削除することはできません。

アイデア?

答えて

0

これにはmasked text inputを使用してください。

+0

これはよく見え、ソースも含まれています。これを完璧にするために残された唯一のことは、小さなDateFieldカレンダーアイコンを持ち、日付ピッカーをポップアップする方法です。多分それは別のコンポーネントですか? –

+0

あなた自身でアイコンを配置し、クリック時にDateChooserをポップアップすることができます。 – Constantiner

+0

しかし、そのマスクされたテスト入力コントロールは、日付が選択された後、または平均selelctedDate&textプロパティがnullで空になった後に値をスローしません。Flex 4.5を使用しています –

0

個人的には、私はDateFieldを使用しません。私は3つの別々のTextInputを持つカスタムコンポーネントを作成します.1つは年、月、日それぞれに1つずつあり、ユーザーが手動で日付を選択したい場合は、右側にDateChooserがあります。

フォーカスを1つのテキスト入力から次のテキスト入力にバウンスさせるには、ロジックを追加する必要があります。間にダッシュを入れて同じコンポーネント内にあるように見せることさえできます。ユーザーはそれが単なるコンポーネントだと思っていますが、実際は複合コンポーネントです。

Any who、ちょうど私の2セント。私は前もって良い結果を出してきました。

関連する問題