2017-09-25 8 views
2

DateTextBoxに本当に古い値を設定しようとしています。残念ながら、ウィジェットは '100'より低い年に設定された日付を受け付けません。Dijit DateTextBoxは、より低い年の日付を設定しました。100

要素の値を0017-01-01に設定しようとすると、ウィジェットは自動的に2017-01-01に設定されます。

表示された値プロパティは、ウィジェットのフォーカスが外れるまで変更されず、内部日付に変更されます。

<input type="date" 
    data-dojo-type="dijit/form/DateTextBox" 
    value='0017-01-01' 
    id="myDate" /> 

古い日付DateTextBox0100-01-01を許可する方法はありますか? http://fiddle.jshell.net/shfe1oqs/

答えて

2

あなたのDateTextBoxconstraint strict == trueを追加することができます:

<input type="date" data-dojo-type="dijit/form/DateTextBox" 
data-dojo-props="constraints: {strict: true}" value='0017-01-01' id="myDate" /> 

修正jsfiddle:http://fiddle.jshell.net/fuzxt1fb/3/

注意を、あなたことを、私はまた、効果を実証するための小さなjsfiddleを構築

日と月の2桁の値を入力する必要があります

+0

ありがとうfo r答え。残念ながら、ウィジェットの内部日付はSun Jan 01 2017 00:00:00 GMT + 0100(CET)に設定されています。 [api documentation](https://dojotoolkit.org/api/?qs=1.10/dojo/date/locale#1_10dojo_date_locale_parse)によると、dojoで使用される日付パーサは、100年より古い日付を許可しません。 –

+0

あなたは確かですか?変更されたjsfiddle:「ウィジェットの内部価値:Thu Jan 12 0017 00:00:00 GMT + 0100」を取得しないでください。 year <100CEは厳密なモードが必要です "。私はデバッガで、dojo.localeの解析関数が日付Date 0017-01-16T23:00:00.000Zの日付オブジェクトを返すことを確認できました(私のローカルゾーンはパリです)。 –

+0

申し訳ありませんが、解決策はjsfiddleで動作しませんでした(別のブラウザなどで試しました)。私は最小限のローカルテストを行いました。 –

関連する問題