You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DateFieldIsValid.java 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package com.vaadin.tests.components.datefield;
  2. import java.time.LocalDate;
  3. import java.time.format.DateTimeFormatter;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.tests.components.AbstractTestUIWithLog;
  6. import com.vaadin.tests.components.TestDateField;
  7. import com.vaadin.ui.AbstractDateField;
  8. public class DateFieldIsValid extends AbstractTestUIWithLog {
  9. @Override
  10. protected String getTestDescription() {
  11. return "A dateField with invalid text should return false in isValid both when "
  12. + "handling ValueChange event and after value is changed.";
  13. }
  14. @Override
  15. protected Integer getTicketNumber() {
  16. return 14487;
  17. }
  18. private String pattern = "dd/MM/yy";
  19. private DateTimeFormatter format = DateTimeFormatter.ofPattern(pattern);
  20. @Override
  21. protected void setup(VaadinRequest request) {
  22. final AbstractDateField dateField = new TestDateField("Insert Date: ");
  23. dateField.setDateFormat(pattern);
  24. dateField.addValueChangeListener(event -> log("valueChange: value: "
  25. + format(dateField.getValue()) + ", is valid: "
  26. + (dateField.getErrorMessage() == null)));
  27. addComponent(dateField);
  28. addButton("check dateField",
  29. event -> log("buttonClick: value: "
  30. + format(dateField.getValue()) + ", is valid: "
  31. + (dateField.getErrorMessage() == null)));
  32. }
  33. /**
  34. * @since
  35. * @param value
  36. * @return
  37. */
  38. protected String format(LocalDate value) {
  39. if (value != null) {
  40. return format.format(value);
  41. } else {
  42. return null;
  43. }
  44. }
  45. }