验证 JQuery UI Datepicker + Timepicker Addon
Validate JQuery UI Datepicker + Timepicker Addon
我需要针对这些情况验证我的日期选择器 + 日期时间选择器:
自输入超过最大范围
自我输入超过思维范围
输入的日期不存在(例如 29.02.2017)
输入无效(如 214124.123123.2017 (DD.MM.YYYY))
我的 JS:
var input = $('<input placeholder="DD.MM.JJJJ HH:MM" type="text">')
input.appendTo($(element));
//DATETIMEPICKER ALLGEMEIN
input.datetimepicker({
monthNames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
monthNamesShort: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'Septem.', 'Oktober', 'Novem.', 'Dezem.'],
dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
dateFormat: 'dd.mm.yy',
changeMonth: false,
changeYear: true,
yearRange: '2015:2019',
showButtonPanel: true,
timeText: 'Zeit',
hourText: 'Stunde',
minuteText: 'Minute',
secondText: 'Sekunde',
ampm: false,
controlType: 'select',
oneLine: true,
timeFormat: 'H:mm',
closeText: "Fertig",
currentText: "Jetzt"
});
编辑:如果日期无效,我需要提醒(例如:"Invalid input")
顺便说一句,我明白了,我使用了 moment.js 库并添加了这段代码,它阻止了我想要的一切,但没有 "alert" 但它运行良好且易于使用!
var previousDate;
input.focus(function () {
previousDate = $(this).val();;
});
input.blur(function () {
var newDate = $(this).val();
if (!moment(newDate, 'DD/MM/YYYY', true).isValid()) {
$(this).val(previousDate);
console.log("Error");
}
我需要针对这些情况验证我的日期选择器 + 日期时间选择器:
自输入超过最大范围
自我输入超过思维范围
输入的日期不存在(例如 29.02.2017)
输入无效(如 214124.123123.2017 (DD.MM.YYYY))
我的 JS:
var input = $('<input placeholder="DD.MM.JJJJ HH:MM" type="text">')
input.appendTo($(element));
//DATETIMEPICKER ALLGEMEIN
input.datetimepicker({
monthNames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
monthNamesShort: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'Septem.', 'Oktober', 'Novem.', 'Dezem.'],
dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
dateFormat: 'dd.mm.yy',
changeMonth: false,
changeYear: true,
yearRange: '2015:2019',
showButtonPanel: true,
timeText: 'Zeit',
hourText: 'Stunde',
minuteText: 'Minute',
secondText: 'Sekunde',
ampm: false,
controlType: 'select',
oneLine: true,
timeFormat: 'H:mm',
closeText: "Fertig",
currentText: "Jetzt"
});
编辑:如果日期无效,我需要提醒(例如:"Invalid input")
顺便说一句,我明白了,我使用了 moment.js 库并添加了这段代码,它阻止了我想要的一切,但没有 "alert" 但它运行良好且易于使用!
var previousDate;
input.focus(function () {
previousDate = $(this).val();;
});
input.blur(function () {
var newDate = $(this).val();
if (!moment(newDate, 'DD/MM/YYYY', true).isValid()) {
$(this).val(previousDate);
console.log("Error");
}