Checking Javafx Datepicker

we tried to check japafx datepicker. Therefore, we use:

if (fromDatePicker.getValue() == null) {
        sb.append("No valid from date!\n");
    } else {
        System.out.println(fromDatePicker.getValue().toString());
        if (!DateUtil
                .validEnglishDate(fromDatePicker.getValue().toString())) {
            sb.append("No valid from date. Use the format yyyy-MM-dd.\n");
        }
    }

But at the moment it is not possible to get an invalid date with datepicker, because the whole invalid date changes to the initial value. So, we asked us, is it possible to get an invalid date with javafx datikiper?

***** EDIT *****

Example: we have the following datepicker: DatePicker [2015-05-12] now we have entered "fjdfk" in the DatePicker, so we have: DatePicker [fjdfk] when saving data, the automatic date picker switches to DatePicker [2015-05-12]

+4
source share
1 answer

DatePicker#setConverter(StringConverter<LocalDate>), . :

public class SecureLocalDateStringConverter extends StringConverter<LocalDate> {
    /**
     * The date pattern that is used for conversion. Change as you wish.
     */
    private static final String DATE_PATTERN = "dd/MM/yyyy";

    /**
    * The date formatter.
    */
    public static final DateTimeFormatter DATE_FORMATTER =
        DateTimeFormatter.ofPattern(DATE_PATTERN);

    private boolean hasParseError = false;

    public boolean hasParseError(){
        return hasParseError;
    }

    @Override
    public String toString(LocalDate localDate) {
       return DATE_FORMATTER.format(localDate);
    }

    @Override
    public LocalDate fromString(String formattedString) {

            try {
                LocalDate date=LocalDate.from(DATE_FORMATTER.parse(formattedString));
                hasParseError=false;
                return date;
            } catch (DateTimeParseException parseExc){
                hasParseError=true;
                return null;
            }
    }

}

converter#hasParseError(), converter , DatePicker#setConverter(StringConverter<LocalDate>)

+2

All Articles