Bug 14060: Force the input to contain a valid date

Before this patch, the user was still allowed to enter a valid date.
Now, if the date is not valid, the input is emptied.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 363e45a5eb)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
This commit is contained in:
Jonathan Druart 2015-12-01 17:33:15 +00:00 committed by Frédéric Demians
parent a133becbfc
commit 6087cfde3f
6 changed files with 28 additions and 5 deletions

View File

@ -8,9 +8,8 @@ var sentmsg = 0;
if (debug > 1) {alert("dateformat: " + dformat + "\ndebug is on (level " + debug + ")");}
var MSG_PLEASE_ENTER_A_VALID_DATE = _("Please enter a valid date (should match %s).");
function validate_date (dateText, inst) {
var dateformat = '[% Koha.Preference('dateformat') %]';
var dateformat_str = dateformat
function is_valid_date(date) {
var dateformat = dateformat_str = '[% Koha.Preference('dateformat') %]';
if ( dateformat == 'us' ) {
dateformat = 'mm/dd/yy';
dateformat_str = 'mm/dd/yyyy';
@ -22,11 +21,19 @@ function validate_date (dateText, inst) {
dateformat_str = 'yyyy-mm-dd';
}
try {
$.datepicker.parseDate(dateformat, dateText);
$.datepicker.parseDate(dateformat, date);
} catch (e) {
return 0;
};
return 1;
}
function validate_date (dateText, inst) {
if ( !is_valid_date(dateText) ) {
var dateformat_str = '[% Koha.Preference('dateformat') %]';
alert(MSG_PLEASE_ENTER_A_VALID_DATE.format(dateformat_str));
$('#'+inst.id).val('');
};
}
}
function Date_from_syspref(dstring) {
@ -115,6 +122,8 @@ $.datepicker.setDefaults({
onClose: function(dateText, inst) {
validate_date(dateText, inst);
},
}).on("change", function(e, value) {
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
});
// http://jqueryui.com/demos/datepicker/#date-range
var dates = $( ".datepickerfrom, .datepickerto" ).datepicker({
@ -132,6 +141,8 @@ $.datepicker.setDefaults({
onClose: function(dateText, inst) {
validate_date(dateText, inst);
},
}).on("change", function(e, value) {
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
});
});
//]]>

View File

@ -79,6 +79,8 @@ function toggle_onsite_checkout(){
},
hour: 23,
minute: 59
}).on("change", function(e, value) {
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
});
}
}

View File

@ -560,6 +560,8 @@ $(document).ready(function () {
},
hour: 23,
minute: 59
}).on("change", function(e, value) {
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
});
$('#mainform').submit(function (event) {
event.preventDefault();

View File

@ -47,6 +47,8 @@ $(document).ready(function () {
hour: 23,
minute: 59,
maxDate: 0
}).on("change", function(e, value) {
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
});
$("#return_date_override").on("blur", function() {
check_valid_return_date();

View File

@ -89,6 +89,8 @@ $(document).ready(function() {
validate_date(dateText, inst);
},
minDate: 1, // require that hold suspended until date is after today
}).on("change", function(e, value) {
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
});
$("#view_restrictions").on("click",function(){

View File

@ -37,6 +37,8 @@ $(document).ready(function() {
minDate: 1, // require that renewal date is after today
hour: 23,
minute: 59
}).on("change", function(e) {
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
});
$("#duedatespec").datetimepicker({
onClose: function(dateText, inst) {
@ -46,6 +48,8 @@ $(document).ready(function() {
},
hour: 23,
minute: 59
}).on("change", function(e, value) {
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
});
$("#export_submit").on("click",function(){
var output_format = $("#output_format").val();