public boolean isValid(Date value, ConstraintValidatorContext context) { Date now = GregorianCalendar.getInstance().getTime(); if ( value.before( now ) ) { HibernateConstraintValidatorContext hibernateContext = context.unwrap( HibernateConstraintValidatorContext.class ); hibernateContext.disableDefaultConstraintViolation(); hibernateContext.addExpressionVariable( "now", now ) .buildConstraintViolationWithTemplate( "Must be after ${now}" ) .addConstraintViolation(); return false; } return true; }
@Override public boolean isValid(String value, ConstraintValidatorContext context) { if (value == null) { return true; } final boolean valid = Arrays.asList(strings).contains(value); if (!valid) { HibernateConstraintValidatorContext hibernateContext = context.unwrap(HibernateConstraintValidatorContext.class); hibernateContext.disableDefaultConstraintViolation(); hibernateContext.addExpressionVariable("validValues", Joiner.on(" ").join(strings)) .buildConstraintViolationWithTemplate(hibernateContext.getDefaultConstraintMessageTemplate()) .addConstraintViolation(); } return valid; } }
private void setMessageTemplate(ConstraintValidatorContext context, String messageTemplate, String value) { HibernateConstraintValidatorContext hibernateContext = context.unwrap(HibernateConstraintValidatorContext.class); hibernateContext.disableDefaultConstraintViolation(); hibernateContext.addExpressionVariable("value", value).buildConstraintViolationWithTemplate(messageTemplate).addConstraintViolation(); } }