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 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.vaadin.tests.components.datefield;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4. import com.vaadin.data.Property.ValueChangeEvent;
  5. import com.vaadin.data.Property.ValueChangeListener;
  6. import com.vaadin.server.VaadinRequest;
  7. import com.vaadin.tests.components.AbstractTestUIWithLog;
  8. import com.vaadin.ui.Button.ClickEvent;
  9. import com.vaadin.ui.Button.ClickListener;
  10. import com.vaadin.ui.DateField;
  11. public class DateFieldIsValid extends AbstractTestUIWithLog {
  12. @Override
  13. protected String getTestDescription() {
  14. return "A dateField with invalid text should return false in isValid both when "
  15. + "handling ValueChange event and after value is changed.";
  16. }
  17. @Override
  18. protected Integer getTicketNumber() {
  19. return 14487;
  20. }
  21. private String pattern = "dd/MM/yy";
  22. private SimpleDateFormat format = new SimpleDateFormat(pattern);
  23. @Override
  24. protected void setup(VaadinRequest request) {
  25. final DateField dateField = new DateField("Insert Date: ");
  26. dateField.setImmediate(true);
  27. dateField.setDateFormat(pattern);
  28. dateField.addValueChangeListener(new ValueChangeListener() {
  29. @Override
  30. public void valueChange(ValueChangeEvent event) {
  31. log("valueChange: value: " + format(dateField.getValue())
  32. + ", is valid: " + dateField.isValid());
  33. }
  34. });
  35. addComponent(dateField);
  36. addButton("check dateField", new ClickListener() {
  37. @Override
  38. public void buttonClick(ClickEvent event) {
  39. log("buttonClick: value: " + format(dateField.getValue())
  40. + ", is valid: " + dateField.isValid());
  41. }
  42. });
  43. }
  44. /**
  45. * @since
  46. * @param value
  47. * @return
  48. */
  49. protected String format(Date value) {
  50. if (value != null) {
  51. return format.format(value);
  52. } else {
  53. return null;
  54. }
  55. }
  56. }