@Override @SuppressWarnings("unchecked") public <T> T unwrap(@Nullable Class<T> type) { if (type == null || !ValidatorFactory.class.isAssignableFrom(type)) { try { return super.unwrap(type); } catch (ValidationException ex) { // ignore - we'll try ValidatorFactory unwrapping next } } if (this.validatorFactory != null) { try { return this.validatorFactory.unwrap(type); } catch (ValidationException ex) { // ignore if just being asked for ValidatorFactory if (ValidatorFactory.class == type) { return (T) this.validatorFactory; } throw ex; } } throw new ValidationException("Cannot unwrap to " + type); }
String field = determineField(violation); FieldError fieldError = errors.getFieldError(field); if (fieldError == null || !fieldError.isBindingFailure()) { try { ConstraintDescriptor<?> cd = violation.getConstraintDescriptor(); String errorCode = determineErrorCode(cd); Object[] errorArgs = getArgumentsForConstraint(errors.getObjectName(), field, cd); if (errors instanceof BindingResult) { Object rejectedValue = getRejectedValue(field, violation, bindingResult); String[] errorCodes = bindingResult.resolveMessageCodes(errorCode, field); FieldError error = new FieldError(errors.getObjectName(), nestedField,
arguments.add(getResolvableField(objectName, field));
@Override public void validate(Object target, Errors errors, Object... validationHints) { if (this.targetValidator != null) { processConstraintViolations( this.targetValidator.validate(target, asValidationGroups(validationHints)), errors); } }
SpringValidatorAdapter validatorAdapter = new SpringValidatorAdapter(messageValidator); validatorAdapter.validate(message, result);
@Test // SPR-15839 public void testMapValueConstraint() { Map<String, String> property = new HashMap<>(); property.put("no value can be", null); BeanWithMapEntryConstraint bean = new BeanWithMapEntryConstraint(); bean.setProperty(property); BeanPropertyBindingResult errors = new BeanPropertyBindingResult(bean, "bean"); validatorAdapter.validate(bean, errors); assertThat(errors.getFieldErrorCount("property[no value can be]"), is(1)); assertNull(errors.getFieldValue("property[no value can be]")); }
@Override public void afterPropertiesSet() throws Exception { SpringValidatorAdapter springValidatorAdapter = new SpringValidatorAdapter(this.validator); SpringValidator<T> springValidator = new SpringValidator<>(); springValidator.setValidator(springValidatorAdapter); springValidator.afterPropertiesSet(); setValidator(springValidator); super.afterPropertiesSet(); } }
@Override public void validate(Object target, Errors errors) { if (this.targetValidator != null) { processConstraintViolations(this.targetValidator.validate(target), errors); } }
dataBinder.setAllowedFields(allowedFields); SpringValidatorAdapter validator = new SpringValidatorAdapter(play.data.validation.Validation.getValidator()); dataBinder.setValidator(validator); dataBinder.setConversionService(play.data.format.Formatters.conversion); Set<ConstraintViolation<Object>> validationErrors; if (groups != null) { validationErrors = validator.validate(dataBinder.getTarget(), groups); } else { validationErrors = validator.validate(dataBinder.getTarget());
@Test // SPR-15839 public void testListElementConstraint() { BeanWithListElementConstraint bean = new BeanWithListElementConstraint(); bean.setProperty(Arrays.asList("no", "element", "can", "be", null)); BeanPropertyBindingResult errors = new BeanPropertyBindingResult(bean, "bean"); validatorAdapter.validate(bean, errors); assertThat(errors.getFieldErrorCount("property[4]"), is(1)); assertNull(errors.getFieldValue("property[4]")); }
@InitBinder public void initBinder(WebDataBinder binder) { binder.setValidator(new SpringValidatorAdapter(messageValidator)); } }
@Override public void validate(Object target, Errors errors, Object... validationHints) { if (this.targetValidator != null) { processConstraintViolations( this.targetValidator.validate(target, asValidationGroups(validationHints)), errors); } }
@Override public void validate(Object target, Errors errors) { if (this.targetValidator != null) { processConstraintViolations(this.targetValidator.validate(target), errors); } }
dataBinder.setAllowedFields(allowedFields); SpringValidatorAdapter validator = new SpringValidatorAdapter(play.data.validation.Validation.getValidator()); dataBinder.setValidator(validator); dataBinder.setConversionService(play.data.format.Formatters.conversion); Set<ConstraintViolation<Object>> validationErrors; if (groups != null) { validationErrors = validator.validate(dataBinder.getTarget(), groups); } else { validationErrors = validator.validate(dataBinder.getTarget());
@Test // SPR-15839 public void testMapEntryConstraint() { Map<String, String> property = new HashMap<>(); property.put(null, null); BeanWithMapEntryConstraint bean = new BeanWithMapEntryConstraint(); bean.setProperty(property); BeanPropertyBindingResult errors = new BeanPropertyBindingResult(bean, "bean"); validatorAdapter.validate(bean, errors); assertTrue(errors.hasFieldErrors("property[]")); assertNull(errors.getFieldValue("property[]")); }
@Override public Validator getValidator() { return new SpringValidatorAdapter(new ValidatorCollectionImpl()); }
String field = determineField(violation); FieldError fieldError = errors.getFieldError(field); if (fieldError == null || !fieldError.isBindingFailure()) { try { ConstraintDescriptor<?> cd = violation.getConstraintDescriptor(); String errorCode = determineErrorCode(cd); Object[] errorArgs = getArgumentsForConstraint(errors.getObjectName(), field, cd); if (errors instanceof BindingResult) { Object rejectedValue = getRejectedValue(field, violation, bindingResult); String[] errorCodes = bindingResult.resolveMessageCodes(errorCode, field); FieldError error = new FieldError(errors.getObjectName(), nestedField,
@Override @SuppressWarnings("unchecked") public <T> T unwrap(@Nullable Class<T> type) { if (type == null || !ValidatorFactory.class.isAssignableFrom(type)) { try { return super.unwrap(type); } catch (ValidationException ex) { // ignore - we'll try ValidatorFactory unwrapping next } } if (this.validatorFactory != null) { try { return this.validatorFactory.unwrap(type); } catch (ValidationException ex) { // ignore if just being asked for ValidatorFactory if (ValidatorFactory.class == type) { return (T) this.validatorFactory; } throw ex; } } throw new ValidationException("Cannot unwrap to " + type); }
@SuppressWarnings("unchecked") @Override public void validateValue( Class<?> targetType, String fieldName, @Nullable Object value, Errors errors, Object... validationHints) { if (this.targetValidator != null) { processConstraintViolations(this.targetValidator.validateValue( (Class) targetType, fieldName, value, asValidationGroups(validationHints)), errors); } }
@Override public void validate(Object target, Errors errors) { if (this.targetValidator != null) { processConstraintViolations(this.targetValidator.validate(target), errors); } }