@Override public String getObjectName() { return this.bindingResult.getObjectName(); }
@Override public String getObjectName() { return this.bindingResult.getObjectName(); }
@Override public String getObjectName() { return this.bindingResult.getObjectName(); }
@Override public String getObjectName() { return this.bindingResult.getObjectName(); }
@Override public void processMissingFieldError(String missingField, BindingResult bindingResult) { // Create field error with code "required". String fixedField = bindingResult.getNestedPath() + missingField; String[] codes = bindingResult.resolveMessageCodes(MISSING_FIELD_ERROR_CODE, missingField); Object[] arguments = getArgumentsForBindError(bindingResult.getObjectName(), fixedField); FieldError error = new FieldError(bindingResult.getObjectName(), fixedField, "", true, codes, arguments, "Field '" + fixedField + "' is required"); bindingResult.addError(error); }
@Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof BindingResult)) { return false; } BindingResult otherResult = (BindingResult) other; return (getObjectName().equals(otherResult.getObjectName()) && ObjectUtils.nullSafeEquals(getTarget(), otherResult.getTarget()) && getAllErrors().equals(otherResult.getAllErrors())); }
@Override public void processMissingFieldError(String missingField, BindingResult bindingResult) { // Create field error with code "required". String fixedField = bindingResult.getNestedPath() + missingField; String[] codes = bindingResult.resolveMessageCodes(MISSING_FIELD_ERROR_CODE, missingField); Object[] arguments = getArgumentsForBindError(bindingResult.getObjectName(), fixedField); FieldError error = new FieldError(bindingResult.getObjectName(), fixedField, "", true, codes, arguments, "Field '" + fixedField + "' is required"); bindingResult.addError(error); }
private void addErrorMessage(Map<String, Object> errorAttributes, Throwable error) { BindingResult result = extractBindingResult(error); if (result == null) { errorAttributes.put("message", error.getMessage()); return; } if (result.hasErrors()) { errorAttributes.put("errors", result.getAllErrors()); errorAttributes.put("message", "Validation failed for object='" + result.getObjectName() + "'. Error count: " + result.getErrorCount()); } else { errorAttributes.put("message", "No errors"); } }
@Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof BindingResult)) { return false; } BindingResult otherResult = (BindingResult) other; return (getObjectName().equals(otherResult.getObjectName()) && ObjectUtils.nullSafeEquals(getTarget(), otherResult.getTarget()) && getAllErrors().equals(otherResult.getAllErrors())); }
/** * Treats errors as fatal. * <p>Use this method only if it's an error if the input isn't valid. * This might be appropriate if all input is from dropdowns, for example. * @throws ServletRequestBindingException subclass of ServletException on any binding problem */ public void closeNoCatch() throws ServletRequestBindingException { if (getBindingResult().hasErrors()) { throw new ServletRequestBindingException( "Errors binding onto object '" + getBindingResult().getObjectName() + "'", new BindException(getBindingResult())); } }
@Override public void processPropertyAccessException(PropertyAccessException ex, BindingResult bindingResult) { // Create field error with the exceptions's code, e.g. "typeMismatch". String field = ex.getPropertyName(); Assert.state(field != null, "No field in exception"); String[] codes = bindingResult.resolveMessageCodes(ex.getErrorCode(), field); Object[] arguments = getArgumentsForBindError(bindingResult.getObjectName(), field); Object rejectedValue = ex.getValue(); if (ObjectUtils.isArray(rejectedValue)) { rejectedValue = StringUtils.arrayToCommaDelimitedString(ObjectUtils.toObjectArray(rejectedValue)); } FieldError error = new FieldError(bindingResult.getObjectName(), field, rejectedValue, true, codes, arguments, ex.getLocalizedMessage()); error.wrap(ex); bindingResult.addError(error); }
/** * Treats errors as fatal. * <p>Use this method only if it's an error if the input isn't valid. * This might be appropriate if all input is from dropdowns, for example. * @throws ServletRequestBindingException subclass of ServletException on any binding problem */ public void closeNoCatch() throws ServletRequestBindingException { if (getBindingResult().hasErrors()) { throw new ServletRequestBindingException( "Errors binding onto object '" + getBindingResult().getObjectName() + "'", new BindException(getBindingResult())); } }
@Override public void processPropertyAccessException(PropertyAccessException ex, BindingResult bindingResult) { // Create field error with the exceptions's code, e.g. "typeMismatch". String field = ex.getPropertyName(); Assert.state(field != null, "No field in exception"); String[] codes = bindingResult.resolveMessageCodes(ex.getErrorCode(), field); Object[] arguments = getArgumentsForBindError(bindingResult.getObjectName(), field); Object rejectedValue = ex.getValue(); if (ObjectUtils.isArray(rejectedValue)) { rejectedValue = StringUtils.arrayToCommaDelimitedString(ObjectUtils.toObjectArray(rejectedValue)); } FieldError error = new FieldError(bindingResult.getObjectName(), field, rejectedValue, true, codes, arguments, ex.getLocalizedMessage()); error.wrap(ex); bindingResult.addError(error); }
@Test public void resolveRequestPartNotValid() throws Exception { try { testResolveArgument(new SimpleBean(null), paramValidRequestPart); fail("Expected exception"); } catch (MethodArgumentNotValidException ex) { assertEquals("requestPart", ex.getBindingResult().getObjectName()); assertEquals(1, ex.getBindingResult().getErrorCount()); assertNotNull(ex.getBindingResult().getFieldError("name")); } }
@Test public void resolveArgumentNotValid() throws Exception { try { testResolveArgumentWithValidation(new SimpleBean(null)); fail("Expected exception"); } catch (MethodArgumentNotValidException e) { assertEquals("simpleBean", e.getBindingResult().getObjectName()); assertEquals(1, e.getBindingResult().getErrorCount()); assertNotNull(e.getBindingResult().getFieldError("name")); } }
protected void fetchBindingResults() { if (this.bindingResults == null) { Map<String, Object> attributes = getModel().getAttributes(); List<String> bindingResultNames = new ArrayList<String>(); List<BindingResult> bindingResults = new ArrayList<BindingResult>(); for (String key : attributes.keySet()) { if (key.startsWith(BindingResult.MODEL_KEY_PREFIX)) { Object value = attributes.get(key); if (value instanceof BindingResult) { bindingResults.add((BindingResult) value); bindingResultNames.add(((BindingResult) value).getObjectName()); } } } this.bindingResults = Collections.unmodifiableList(bindingResults); this.bindingResultNames = Collections.unmodifiableList(bindingResultNames); } }
/** * Treats errors as fatal. * <p> * Use this method only if it's an error if the input isn't valid. This * might be appropriate if all input is from dropdowns, for example. * * @throws ServletRequestBindingException subclass of ServletException * on any binding problem */ public void closeNoCatch() throws ServletRequestBindingException { if (getBindingResult().hasErrors()) { throw new ServletRequestBindingException("Errors binding onto object '" + getBindingResult().getObjectName() + "'", new BindException( getBindingResult())); } }
protected String getCommandName(BindingResult br){ if(br == null) return null; else return br.getObjectName(); }
private Class getCommandClass(Map modelMap, BindingResult br) { if(br == null) return null; String name = br.getObjectName(); Object command = modelMap.get(name); if(command != null) return command.getClass(); else return null; }
/** * Treats errors as fatal. * <p>Use this method only if it's an error if the input isn't valid. * This might be appropriate if all input is from dropdowns, for example. * @throws PortletRequestBindingException subclass of PortletException on any binding problem */ public void closeNoCatch() throws PortletRequestBindingException { if (getBindingResult().hasErrors()) { throw new PortletRequestBindingException( "Errors binding onto object '" + getBindingResult().getObjectName() + "'", new BindException(getBindingResult())); } }