DateTimeValidator.java 993 B

123456789101112131415161718192021222324252627282930313233343536
  1. package com.ydtech.validation;
  2. import com.ydtech.validation.annotation.CheckDateTime;
  3. import javax.validation.ConstraintValidator;
  4. import javax.validation.ConstraintValidatorContext;
  5. import java.text.SimpleDateFormat;
  6. public class DateTimeValidator implements ConstraintValidator<CheckDateTime, String> {
  7. private CheckDateTime checkDateTime;
  8. @Override
  9. public void initialize(CheckDateTime checkDateTime) {
  10. this.checkDateTime = checkDateTime;
  11. }
  12. @Override
  13. public boolean isValid(String value, ConstraintValidatorContext context) {
  14. if (value == null) {
  15. return true;
  16. }
  17. String format = checkDateTime.format();
  18. if (value.length() != format.length()) {
  19. return false;
  20. }
  21. SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
  22. try {
  23. simpleDateFormat.parse(value);
  24. } catch (Exception e) {
  25. return false;
  26. }
  27. return true;
  28. }
  29. }