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.

RequiredInvalidDateField.java 2.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.vaadin.tests.components.datefield;
  2. import java.util.Date;
  3. import java.util.Locale;
  4. import com.vaadin.tests.components.TestBase;
  5. import com.vaadin.v7.data.Property;
  6. import com.vaadin.v7.data.Validator;
  7. import com.vaadin.v7.data.util.ObjectProperty;
  8. import com.vaadin.v7.data.validator.AbstractValidator;
  9. import com.vaadin.v7.ui.DateField;
  10. public class RequiredInvalidDateField extends TestBase {
  11. @SuppressWarnings("deprecation")
  12. @Override
  13. protected void setup() {
  14. // StringLengthValidator textValidator = new StringLengthValidator(
  15. // "String length must be 2-4");
  16. // textValidator.setMinLength(2);
  17. // textValidator.setMaxLength(4);
  18. //
  19. // // not required
  20. // TextField tf1 = new TextField();
  21. // tf1.addValidator(textValidator);
  22. // tf1.setImmediate(true);
  23. // addComponent(tf1);
  24. //
  25. // // required
  26. // TextField tf2 = new TextField();
  27. // tf2.addValidator(textValidator);
  28. // tf2.setRequired(true);
  29. // tf2.setImmediate(true);
  30. // addComponent(tf2);
  31. Date date = new Date(2011 - 1900, 9 - 1, 1);
  32. Validator dateValidator = new AbstractValidator<Date>(
  33. "Day of month must be an even number") {
  34. @Override
  35. protected boolean isValidValue(Date value) {
  36. if (value == null) {
  37. return true;
  38. }
  39. return (value.getDate() % 2 == 0);
  40. }
  41. @Override
  42. public Class getType() {
  43. return Date.class;
  44. }
  45. };
  46. // not required
  47. Property<Date> dateProperty1 = new ObjectProperty<>(date);
  48. DateField dateField1 = new DateField("Not required", dateProperty1);
  49. dateField1.setLocale(new Locale("fi", "FI"));
  50. dateField1.setResolution(DateField.RESOLUTION_DAY);
  51. dateField1.setId("_DF1");
  52. dateField1.setImmediate(true);
  53. dateField1.addValidator(dateValidator);
  54. addComponent(dateField1);
  55. // required
  56. Property<Date> dateProperty2 = new ObjectProperty<>(date);
  57. DateField dateField2 = new DateField("Required", dateProperty2);
  58. dateField2.setLocale(new Locale("fi", "FI"));
  59. dateField2.setResolution(DateField.RESOLUTION_DAY);
  60. dateField2.setId("_DF2");
  61. dateField2.setRequired(true);
  62. dateField2.setImmediate(true);
  63. dateField2.addValidator(dateValidator);
  64. addComponent(dateField2);
  65. }
  66. @Override
  67. protected String getDescription() {
  68. return "Error indicator should be shown for a DateField with an "
  69. + "invalid value, also when the field is required";
  70. }
  71. @Override
  72. protected Integer getTicketNumber() {
  73. return 6770;
  74. }
  75. }