diff --git a/src/datepicker/datepicker.js b/src/datepicker/datepicker.js index 599f3c3562..fed671ece8 100644 --- a/src/datepicker/datepicker.js +++ b/src/datepicker/datepicker.js @@ -372,13 +372,23 @@ function ($compile, $parse, $document, $position, dateFilter, datepickerPopupCon ngModel.$setValidity('date', true); return viewValue; } else if (angular.isString(viewValue)) { - var date = new Date(viewValue); - if (isNaN(date)) { + var dateStr = dateFilter(viewValue, dateFormat); + if (dateStr === undefined) { ngModel.$setValidity('date', false); return undefined; } else { - ngModel.$setValidity('date', true); - return date; + var dateParts = dateStr.split(/\/|\.|\-/); //check for "/" or "." or "-" to split date + var date = new Date(dateStr); + if (dateParts.length === 3){ + date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); + } + if (isNaN(date)) { + ngModel.$setValidity('date', false); + return undefined; + } else { + ngModel.$setValidity('date', true); + return date; + } } } else { ngModel.$setValidity('date', false);