Dijit.Form.DateTextBoxに関する簡単な質問
http://docs.dojocampus.org/dijit/form/DateTextBox
このページには、次の内容が含まれています。「最小、最大、有効な曜日など、開発者が提供する制約に対しても検証します。」
曜日に制約を与えることができるドキュメントが見つからないようです。たとえば、ユーザーが日曜日に発生する日付のみを選択できるDateTextBoxが必要です。
これについて助けていただければ幸いです。ありがとう!
Dijit.Form.DateTextBoxに関する簡単な質問
http://docs.dojocampus.org/dijit/form/DateTextBox
このページには、次の内容が含まれています。「最小、最大、有効な曜日など、開発者が提供する制約に対しても検証します。」
曜日に制約を与えることができるドキュメントが見つからないようです。たとえば、ユーザーが日曜日に発生する日付のみを選択できるDateTextBoxが必要です。
これについて助けていただければ幸いです。ありがとう!
これについてソースコードを詳しく調べましたが、マニュアルは少し誤解を招く可能性があると思います.オブジェクトの制約を使用してこれを行う方法はありません. ユーザー フォーラムからの次の引用は、私の調査結果を裏付けているようです。
現在、DateTextBox では isDisabledDate をカスタマイズできません。最小/最大のみを設定できます。独自の isDisabledDate 実装を提供し、検証中にチェックするには、おそらく DateTextBox にパッチを適用するかサブクラス化する必要があります。
このような DateTextBox のサブクラスの例は、http: //dojotoolkit.org/forum/dijit-dijit-0-9/dijit-support/datetextbox-mondays-only-selectable#comment-19508 で確認できます。
それが面倒なら、DateTextBox は dijit.form.ValidationTextBox から派生しているので、このウィジェットの regExpGen を使用してバリデーターを作成できます - 無効な日付を選択するのを防ぐことはできませんが、dijit がウィジェットにマークを付ける原因になります。無効として、ユーザーに「入力された値は無効です」と表示されます。
dijit.byId('toDate').regExpGen = function() {
if (dojo.date.locale.format(this.value, {datePattern: "E", selector: "date"}) == 6)
戻る "。*";
「0」を返します。
}
たまたま、内部のオブジェクトのisDisabledDate関数はそれ自体を呼び出すだけです。したがって、あなたの目的のために、これはうまくいくでしょう:CalendarDateTextBoxrangeCheckDateTextBox
dijit.byId('toDate').rangeCheck = function(date,constraints) {
var day=date.getDay();
return day===0;
}
最小/最大のものも必要な場合は、制約ロジックを追加し直す必要がありますが、これにより、前述の問題が解決され、かなり短いものになります。
早く手に入れたい機能