@Override public boolean isValid(CharSequence value, ConstraintValidatorContext constraintValidatorContext) { if ( value == null ) { return true; } if ( constraintValidatorContext instanceof HibernateConstraintValidatorContext ) { constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class ).addMessageParameter( "regexp", escapedRegexp ); } Matcher m = pattern.matcher( value ); return m.matches(); } }
@Override public boolean isValid(CharSequence value, ConstraintValidatorContext constraintValidatorContext) { if ( value == null ) { return true; } if ( constraintValidatorContext instanceof HibernateConstraintValidatorContext ) { constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class ).addMessageParameter( "regexp", escapedRegexp ); } Matcher m = pattern.matcher( value ); return m.matches(); } }
/** * @param collection the collection to validate * @param constraintValidatorContext context in which the constraint is evaluated * * @return true if the input collection is null or does not contain duplicate elements */ @Override public boolean isValid(Collection collection, ConstraintValidatorContext constraintValidatorContext) { if ( collection == null || collection.size() < 2 ) { return true; } List<Object> duplicates = findDuplicates( collection ); if ( duplicates.isEmpty() ) { return true; } if ( constraintValidatorContext instanceof HibernateConstraintValidatorContext ) { constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class ) .addMessageParameter( "duplicates", duplicates.stream().map( String::valueOf ).collect( Collectors.joining( ", " ) ) ) .withDynamicPayload( CollectionHelper.toImmutableList( duplicates ) ); } return false; }
@Override public boolean isValid(Object[] arguments, ConstraintValidatorContext constraintValidatorContext) { if ( constraintValidatorContext instanceof HibernateConstraintValidatorContext ) { constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class ).addMessageParameter( "script", escapedScript ); } List<String> parameterNames = ( (ConstraintValidatorContextImpl) constraintValidatorContext ) .getMethodParameterNames(); Map<String, Object> bindings = getBindings( arguments, parameterNames ); return scriptAssertContext.evaluateScriptAssertExpression( bindings ); }
@Override public boolean isValid(Object[] arguments, ConstraintValidatorContext constraintValidatorContext) { if ( constraintValidatorContext instanceof HibernateConstraintValidatorContext ) { constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class ).addMessageParameter( "script", escapedScript ); } List<String> parameterNames = ( (ConstraintValidatorContextImpl) constraintValidatorContext ) .getMethodParameterNames(); Map<String, Object> bindings = getBindings( arguments, parameterNames ); return scriptAssertContext.evaluateScriptAssertExpression( bindings ); }
@Override public boolean isValid(Object value, ConstraintValidatorContext constraintValidatorContext) { if ( constraintValidatorContext instanceof HibernateConstraintValidatorContext ) { constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class ).addMessageParameter( "script", escapedScript ); } boolean validationResult = scriptAssertContext.evaluateScriptAssertExpression( value, alias ); if ( !validationResult && !reportOn.isEmpty() ) { constraintValidatorContext.disableDefaultConstraintViolation(); constraintValidatorContext.buildConstraintViolationWithTemplate( message ).addPropertyNode( reportOn ).addConstraintViolation(); } return validationResult; }
@Override public boolean isValid(Object value, ConstraintValidatorContext constraintValidatorContext) { if ( constraintValidatorContext instanceof HibernateConstraintValidatorContext ) { constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class ).addMessageParameter( "script", escapedScript ); } boolean validationResult = scriptAssertContext.evaluateScriptAssertExpression( value, alias ); if ( !validationResult && !reportOn.isEmpty() ) { constraintValidatorContext.disableDefaultConstraintViolation(); constraintValidatorContext.buildConstraintViolationWithTemplate( message ).addPropertyNode( reportOn ).addConstraintViolation(); } return validationResult; }