private boolean checkDate(String paramDate) {

        if (paramDate == null || paramDate.equals("")) {
            errors.put("date-error", "Date cannot be blank!");
            return false;
        }

        try {

            SimpleDateFormat parser = new SimpleDateFormat("dd.MM.yyyy");
            date = parser.parse(paramDate);

            Date dateNow = new Date();
            Calendar calendarNow = GregorianCalendar.getInstance();
            calendarNow.setTime(dateNow);

            Calendar calendar = GregorianCalendar.getInstance();
            calendar.setTime(date);

            if (date.compareTo(dateNow) > 0) {
                errors.put("date-error", "Date cannot be in future!");
            } else if (isSameDay(calendarNow, calendar) &&calendarNow.get(Calendar.HOUR_OF_DAY) < 13) {
                errors.put("date-error", "Exchange rates for today will be available after 13:00!");
            }

            if (errors.size() == 0) {
                return true;
            }
        } catch (ParseException e) {
            errors.put("date-error", "Invalid date format!");
        } catch (NullPointerException ex) {
            System.err.println("Validation error -> NullPointerException");
        }
        return false;
    }