日付を手動で入力する必要があるページにjQuery datepickerがありますが、日付が1日以内であることを検証する必要もあります。ピッカーコントロールはmaxDateで制限されていますが、手動で日付を入力すると、1日以上前に日付を入力することができます。どのように(私)それを停止するのですか?ここに私がこれまで持っていたものがあります:jQuery UI Datepicker maxDateオプションの手動日付入力検証
8
A
答えて
6
さて、上記の答えが正しいですが、それがフォームを検証しない、ユーザーはまだフォームを送信することができるようになります、
を私はいくつかの研究を行っていますが、nyを見つけることができませんでした。最終的に、この関数を書いてフォームを検証し、正しい日付が入力されるまでフォームを送信しません。
このコードを追加するだけで、これは 'datePicker'クラスのすべてのフィールドに適用されます。
$(".datePicker").datepicker({
dateFormat: 'd/mm/yy',
changeMonth: true,
changeYear: true,
firstDay: 1,
minDate: Date.parse("1900-01-01"),
maxDate: Date.parse("2100-01-01"),
yearRange: "c-90:c+150"
});
// validation in case user types the date out of valid range from keyboard : To fix the bug with out of range date time while saving in sql
$(function() {
$.validator.addMethod(
"date",
function (value, element) {
var minDate = Date.parse("1900-01-01");
var maxDate = Date.parse("2100-01-01");
var valueEntered = Date.parse(value);
if (valueEntered < minDate || valueEntered > maxDate) {
return false;
}
return !/Invalid|NaN/.test(new Date(minDate));
},
"Please enter a valid date!"
);
});
11
コントロールの値が直接入力されると、datepickerがイベントを発生させるかどうかわかりません。あなたは.change()
イベントに関数をバインドすることができます。
$(".datepicker").attr("placeholder", "mm-dd-yyyy").datepicker({
dateFormat: "mm-dd-yy", // since you have defined a mask
maxDate: "+1",
showOn: "button",
showOtherMonths: true
}).on("change", function(e) {
var curDate = $(this).datepicker("getDate");
var maxDate = new Date();
maxDate.setDate(maxDate.getDate() + 1); // add one day
maxDate.setHours(0, 0, 0, 0); // clear time portion for correct results
if (curDate > maxDate) {
alert("Invalid date");
$(this).datepicker("setDate", maxDate);
}
});
4
1つの選択肢は、入力フィールドを手動入力する機能を削除することです。readonly
。これにより、ユーザーは手動で何かを狂って入力することを制限し、日付ピッカーの使用を強制します。
8
関連する問題
- 1. jQuery UI datepicker maxdate
- 2. jquery ui datepickerのmaxDateを特定の日付に設定する
- 3. Jquery ui Datepicker maxDateを動的に
- 4. jQuery UI datepicker maxDate変数を使用
- 5. jquery ui datepicker日付形式
- 6. jQueryの日付ピッカーに、maxdate
- 7. 検証jQueryのUI日付ピッカー+ Timepickerアドオン
- 8. 手動入力時にブートストラップ日付ピッカーがフォーマットを検証しない
- 9. jQueryの日付ピッカーmaxDateの問題
- 10. jQuery UI datepicker binding
- 11. jqueryのデフォルトの日付UI datepicker
- 12. jQuery UI Datepicker - 複数の日付選択
- 13. jquery ui datepicker範囲オープン日2自動日付後選択
- 14. 手動入力後の日付値ミスマッチ
- 15. 入力日付時刻の検証C#
- 16. 日付入力の検証方法
- 17. Jquery UI Datepicker、beforeShowDayエラー
- 18. jquery UI datepickerリセット日
- 19. モバイルでjQueryのdatepickerを無効にする、入力タイプ= "日付"
- 20. jQueryのUI日付ピッカーの出力日付形式
- 21. HTML5日付入力タイプjQuery DatePickerを使用しない
- 22. jqueryのdatepicker日付を検証する方法
- 23. jQueryウォーターマーク付きの入力と検証
- 24. uiグリッドで日付を手動で入力する方法datepickerを編集する
- 25. Jquery Datepick Range&invalid asp.netの日付検証
- 26. 手動入力とインポート入力のための角型検証
- 27. jquery datepickerで日付範囲を検証する
- 28. jQueryのUI-DatePickerののカレンダーテーブル幅は、UI-日付ピッカーをオーバーフロー
- 29. jQueryの日付ピッカーに - 入力フィールド
- 30. 今日の日付のjQuery UI datepickerの問題