@Override public String toString() { return "Field error in object '" + getObjectName() + "' on field '" + this.field + "': rejected value [" + ObjectUtils.nullSafeToString(this.rejectedValue) + "]; " + resolvableToString(); }
@Override public String toString() { return "Field error in object '" + getObjectName() + "' on field '" + this.field + "': rejected value [" + ObjectUtils.nullSafeToString(this.rejectedValue) + "]; " + resolvableToString(); }
private void appendFieldError(StringBuilder description, FieldError error) { Origin origin = Origin.from(error); description.append(String.format("%n Property: %s", error.getObjectName() + "." + error.getField())); description.append(String.format("%n Value: %s", error.getRejectedValue())); if (origin != null) { description.append(String.format("%n Origin: %s", origin)); } }
@SuppressWarnings("unchecked") @Nullable private <T extends ObjectError> T escapeObjectError(@Nullable T source) { if (source == null) { return null; } String defaultMessage = source.getDefaultMessage(); if (defaultMessage != null) { defaultMessage = HtmlUtils.htmlEscape(defaultMessage); } if (source instanceof FieldError) { FieldError fieldError = (FieldError) source; Object value = fieldError.getRejectedValue(); if (value instanceof String) { value = HtmlUtils.htmlEscape((String) value); } return (T) new FieldError( fieldError.getObjectName(), fieldError.getField(), value, fieldError.isBindingFailure(), fieldError.getCodes(), fieldError.getArguments(), defaultMessage); } else { return (T) new ObjectError( source.getObjectName(), source.getCodes(), source.getArguments(), defaultMessage); } }
private OriginTrackedFieldError(FieldError fieldError, Origin origin) { super(fieldError.getObjectName(), fieldError.getField(), fieldError.getRejectedValue(), fieldError.isBindingFailure(), fieldError.getCodes(), fieldError.getArguments(), fieldError.getDefaultMessage()); this.origin = origin; }
@SuppressWarnings("unchecked") @Nullable private <T extends ObjectError> T escapeObjectError(@Nullable T source) { if (source == null) { return null; } String defaultMessage = source.getDefaultMessage(); if (defaultMessage != null) { defaultMessage = HtmlUtils.htmlEscape(defaultMessage); } if (source instanceof FieldError) { FieldError fieldError = (FieldError) source; Object value = fieldError.getRejectedValue(); if (value instanceof String) { value = HtmlUtils.htmlEscape((String) value); } return (T) new FieldError( fieldError.getObjectName(), fieldError.getField(), value, fieldError.isBindingFailure(), fieldError.getCodes(), fieldError.getArguments(), defaultMessage); } else { return (T) new ObjectError( source.getObjectName(), source.getCodes(), source.getArguments(), defaultMessage); } }
@Test public void testValidatorWithNestedObjectNull() { TestBean tb = new TestBean(); Errors errors = new BeanPropertyBindingResult(tb, "tb"); Validator testValidator = new TestBeanValidator(); testValidator.validate(tb, errors); errors.setNestedPath("spouse."); assertEquals("spouse.", errors.getNestedPath()); Validator spouseValidator = new SpouseValidator(); spouseValidator.validate(tb.getSpouse(), errors); errors.setNestedPath(""); assertTrue(errors.hasFieldErrors("spouse")); assertEquals(1, errors.getFieldErrorCount("spouse")); assertEquals("SPOUSE_NOT_AVAILABLE", errors.getFieldError("spouse").getCode()); assertEquals("tb", (errors.getFieldErrors("spouse").get(0)).getObjectName()); assertEquals(null, (errors.getFieldErrors("spouse").get(0)).getRejectedValue()); }
assertEquals("TOO_YOUNG", errors.getFieldError("age").getCode()); assertEquals("TOO_YOUNG", (errors.getFieldErrors("age").get(0)).getCode()); assertEquals("tb", (errors.getFieldErrors("age").get(0)).getObjectName()); assertEquals("age", (errors.getFieldErrors("age").get(0)).getField()); assertEquals(new Integer(0), (errors.getFieldErrors("age").get(0)).getRejectedValue()); assertEquals(1, errors.getFieldErrorCount("spouse.age")); assertEquals("TOO_YOUNG", errors.getFieldError("spouse.age").getCode()); assertEquals("tb", (errors.getFieldErrors("spouse.age").get(0)).getObjectName()); assertEquals(new Integer(0), (errors.getFieldErrors("spouse.age").get(0)).getRejectedValue());
List<FieldError> errors = bindingResult.getFieldErrors(); for (FieldError error : errors ) { System.out.println (error.getObjectName() + " - " + error.getDefaultMessage()); }
assertEquals("validation.TOO_YOUNG", errors.getFieldError("age").getCode()); assertEquals("validation.TOO_YOUNG", (errors.getFieldErrors("age").get(0)).getCode()); assertEquals("tb", (errors.getFieldErrors("age").get(0)).getObjectName()); assertEquals("age", (errors.getFieldErrors("age").get(0)).getField()); assertEquals(new Integer(0), (errors.getFieldErrors("age").get(0)).getRejectedValue()); assertEquals(1, errors.getFieldErrorCount("spouse.age")); assertEquals("validation.TOO_YOUNG", errors.getFieldError("spouse.age").getCode()); assertEquals("tb", (errors.getFieldErrors("spouse.age").get(0)).getObjectName()); assertEquals(new Integer(0), (errors.getFieldErrors("spouse.age").get(0)).getRejectedValue());
/** * Creates a new {@link RepositoryConstraintViolationExceptionMessage} for the given * {@link RepositoryConstraintViolationException} and {@link MessageSourceAccessor}. * * @param exception must not be {@literal null}. * @param accessor must not be {@literal null}. */ public RepositoryConstraintViolationExceptionMessage(RepositoryConstraintViolationException exception, MessageSourceAccessor accessor) { Assert.notNull(exception, "RepositoryConstraintViolationException must not be null!"); Assert.notNull(accessor, "MessageSourceAccessor must not be null!"); for (FieldError fieldError : exception.getErrors().getFieldErrors()) { this.errors.add(ValidationError.of(fieldError.getObjectName(), fieldError.getField(), fieldError.getRejectedValue(), accessor.getMessage(fieldError))); } }
private List<FieldError> bindExceptionToFieldError(BindException ex) { return ex.getFieldErrors().stream().map(f -> { FieldError error = new FieldError(); error.setName(f.getObjectName() + "." + f.getField()); error.setMessage(f.getDefaultMessage()); return error; }).collect(Collectors.toList()); }
private Error processFieldErrors(List<FieldError> fieldErrors) { Error dto = new Error(ErrorConstants.ERR_VALIDATION); for (FieldError fieldError : fieldErrors) { dto.add(fieldError.getObjectName(), fieldError.getField(), fieldError.getCode()); } return dto; }
private void addValidationError(FieldError fieldError) { this.addValidationError( fieldError.getObjectName(), fieldError.getField(), fieldError.getRejectedValue(), fieldError.getDefaultMessage()); }
private static LemonFieldError of(FieldError fieldError) { return new LemonFieldError(fieldError.getObjectName() + "." + fieldError.getField(), fieldError.getCode(), fieldError.getDefaultMessage()); }
private Error processFieldErrors(List<FieldError> fieldErrors) { Error dto = new Error(ErrorConstants.ERR_VALIDATION); for (FieldError fieldError : fieldErrors) { dto.add(fieldError.getObjectName(), fieldError.getField(), fieldError.getCode()); } return dto; }
private void addValidationError(FieldError fieldError) { this.addValidationError(fieldError.getObjectName(), fieldError.getField(), fieldError.getRejectedValue(), fieldError.getDefaultMessage()); }
private void addValidationError(FieldError fieldError) { this.addValidationError(fieldError.getObjectName(), fieldError.getField(), fieldError.getRejectedValue(), fieldError.getDefaultMessage()); }
private void addValidationError(FieldError fieldError) { this.addValidationError( fieldError.getObjectName(), fieldError.getField(), fieldError.getRejectedValue(), fieldError.getDefaultMessage()); }
private FieldErrorResource getFieldErrorResource(FieldError fieldError) { FieldErrorResource fieldErrorResource = new FieldErrorResource(); fieldErrorResource.setResource(fieldError.getObjectName()); fieldErrorResource.setField(fieldError.getField()); fieldErrorResource.setCode(fieldError.getCode()); fieldErrorResource.setMessage(fieldError.getDefaultMessage()); return fieldErrorResource; }