private void validateConstraintsForGroup(ValidationContext<?> validationContext, ValueContext<?, ?> valueContext, Iterable<MetaConstraint<?>> constraints) { for ( MetaConstraint<?> metaConstraint : constraints ) { if ( !isValidationRequired( validationContext, valueContext, metaConstraint ) ) { continue; } metaConstraint.validateConstraint( validationContext, valueContext ); if ( shouldFailFast( validationContext ) ) { break; } } }
private boolean validateMetaConstraint(ValidationContext<?> validationContext, ValueContext<?, Object> valueContext, MetaConstraint<?> metaConstraint) { if ( isValidationRequired( validationContext, valueContext, metaConstraint ) ) { if ( valueContext.getCurrentBean() != null ) { Object valueToValidate = getBeanMemberValue( valueContext.getCurrentBean(), metaConstraint.getLocation().getMember() ); valueContext.setCurrentValidatedValue( valueToValidate ); } return metaConstraint.validateConstraint( validationContext, valueContext ); } return true; }
private boolean validateMetaConstraint(ValidationContext<?> validationContext, ValueContext<?, Object> valueContext, Object parent, MetaConstraint<?> metaConstraint) { ValueContext.ValueState<Object> originalValueState = valueContext.getCurrentValueState(); valueContext.appendNode( metaConstraint.getLocation() ); boolean success = true; if ( isValidationRequired( validationContext, valueContext, metaConstraint ) ) { if ( parent != null ) { valueContext.setCurrentValidatedValue( valueContext.getValue( parent, metaConstraint.getLocation() ) ); } success = metaConstraint.validateConstraint( validationContext, valueContext ); validationContext.markConstraintProcessed( valueContext.getCurrentBean(), valueContext.getPropertyPath(), metaConstraint ); } // reset the value context to the state before this call valueContext.resetValueState( originalValueState ); return success; }