         if attrs.max
             $scope.$watch('dateMax', (date) ->
                 if date
-                    if not modelCtrl.$isEmpty(modelCtrl.$viewValue)
-                        _validateMax(date, modelCtrl.$viewValue.endDate)
+                    if not modelCtrl.$isEmpty(modelCtrl.$modelValue)
+                        _validateMax(date, modelCtrl.$modelValue.endDate)
 
                     opts['maxDate'] = moment(date)
                 else

            not val or (val.startDate == null or val.endDate == null)

        modelCtrl.$render = ->
            if not modelCtrl.$viewValue
                return el.val('')

            if modelCtrl.$viewValue.startDate == null
                return el.val('')

            return el.val(_formatted(modelCtrl.$viewValue))


        _init = ->

        if attrs.min
            $scope.$watch('dateMin', (date) ->
                if date
                    if not modelCtrl.$isEmpty(modelCtrl.$modelValue)
                        _validateMin(date, modelCtrl.$modelValue.startDate)

                    opts['minDate'] = moment(date)
                else
