GUAC-1213: Set blank value if date/time is completely invalid.

This commit is contained in:
Michael Jumper
2015-08-11 13:09:29 -07:00
parent 2f73c20321
commit 79f672bfa9
4 changed files with 26 additions and 4 deletions

View File

@@ -69,7 +69,14 @@ angular.module('form').controller('dateFieldController', ['$scope', '$injector',
* set.
*/
var parseDate = function parseDate(str) {
return new Date(str + 'T00:00Z');
// Parse date, return blank if invalid
var parsedDate = new Date(str + 'T00:00Z');
if (isNaN(parsedDate.getTime()))
return null;
return parsedDate;
};
// Update typed value when model is changed

View File

@@ -69,7 +69,14 @@ angular.module('form').controller('timeFieldController', ['$scope', '$injector',
* set.
*/
var parseTime = function parseTime(str) {
return new Date('1970-01-01T' + str + 'Z');
// Parse time, return blank if invalid
var parsedDate = new Date('1970-01-01T' + str + 'Z');
if (isNaN(parsedDate.getTime()))
return null;
return parsedDate;
};
// Update typed value when model is changed

View File

@@ -63,7 +63,11 @@ angular.module('form').directive('guacLenientDate', ['$injector',
var day = parseInt(match[3] || '0') || 1;
// Convert to Date object
return new Date(Date.UTC(year, month - 1, day));
var parsedDate = new Date(Date.UTC(year, month - 1, day));
if (isNaN(parsedDate.getTime()))
return null;
return parsedDate;
}];

View File

@@ -83,7 +83,11 @@ angular.module('form').directive('guacLenientTime', ['$injector',
hour %= 24;
// Convert to Date object
return new Date(Date.UTC(1970, 0, 1, hour, minute, second));
var parsedDate = new Date(Date.UTC(1970, 0, 1, hour, minute, second));
if (isNaN(parsedDate.getTime()))
return null;
return parsedDate;
}];