show parsed date/time to user after validation

https://github.com/xdan/datetimepicker/issues/425
This commit is contained in:
Vasiliy Zverev 2016-04-06 16:45:46 +03:00
parent ebbc1a1f39
commit 2266845f52
4 changed files with 36 additions and 32 deletions

View File

@ -575,7 +575,7 @@ var DateFormatter;
}
};
})();/**
* @preserve jQuery DateTimePicker plugin v2.5.1
* @preserve jQuery DateTimePicker plugin v2.5.3
* @homepage http://xdsoft.net/jqplugins/datetimepicker/
* @author Chupurnov Valeriy (<chupurnov@gmail.com>)
*/
@ -1755,7 +1755,11 @@ var DateFormatter;
if (options.allowBlank && (!$.trim($(this).val()).length || (typeof options.mask == "string" && $.trim($(this).val()) === options.mask.replace(/[0-9]/g, '_')))) {
$(this).val(null);
datetimepicker.data('xdsoft_datetime').empty();
} else if (!dateHelper.parseDate($(this).val(), options.format)) {
} else {
var d = dateHelper.parseDate($(this).val(), options.format);
if (d) { // parseDate() may skip some invalid parts like date or time, so make it clear for user: show parsed date/time
$(this).val(dateHelper.formatDate(d, options.format));
} else {
var splittedHours = +([$(this).val()[0], $(this).val()[1]].join('')),
splittedMinutes = +([$(this).val()[2], $(this).val()[3]].join(''));
@ -1767,9 +1771,7 @@ var DateFormatter;
} else {
$(this).val(dateHelper.formatDate(_xdsoft_datetime.now(), options.format));
}
datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());
} else {
}
datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1179,7 +1179,11 @@
if (options.allowBlank && (!$.trim($(this).val()).length || (typeof options.mask == "string" && $.trim($(this).val()) === options.mask.replace(/[0-9]/g, '_')))) {
$(this).val(null);
datetimepicker.data('xdsoft_datetime').empty();
} else if (!dateHelper.parseDate($(this).val(), options.format)) {
} else {
var d = dateHelper.parseDate($(this).val(), options.format);
if (d) { // parseDate() may skip some invalid parts like date or time, so make it clear for user: show parsed date/time
$(this).val(dateHelper.formatDate(d, options.format));
} else {
var splittedHours = +([$(this).val()[0], $(this).val()[1]].join('')),
splittedMinutes = +([$(this).val()[2], $(this).val()[3]].join(''));
@ -1191,9 +1195,7 @@
} else {
$(this).val(dateHelper.formatDate(_xdsoft_datetime.now(), options.format));
}
datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());
} else {
}
datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());
}