/** * Extract the error codes from the ObjectError list. */ private static String[] initErrorCodes(List<? extends ObjectError> objectErrors) { String[] errorCodes = new String[objectErrors.size()]; for (int i = 0; i < objectErrors.size(); i++) { ObjectError error = objectErrors.get(i); errorCodes[i] = error.getCode(); } return errorCodes; }
assertEquals("validation.NAME_TOUCHY_MISMATCH", errors.getGlobalError().getCode()); assertEquals("validation.NAME_TOUCHY_MISMATCH", (errors.getGlobalErrors().get(0)).getCode()); assertEquals("validation.NAME_TOUCHY_MISMATCH.tb", (errors.getGlobalErrors().get(0)).getCodes()[0]); assertEquals("validation.NAME_TOUCHY_MISMATCH", (errors.getGlobalErrors().get(0)).getCodes()[1]); assertEquals("tb", (errors.getGlobalErrors().get(0)).getObjectName()); assertEquals("validation.GENERAL_ERROR", (errors.getGlobalErrors().get(1)).getCode()); assertEquals("validation.GENERAL_ERROR.tb", (errors.getGlobalErrors().get(1)).getCodes()[0]); assertEquals("validation.GENERAL_ERROR", (errors.getGlobalErrors().get(1)).getCodes()[1]);
/** * Extract the error codes from the ObjectError list. */ private static String[] initErrorCodes(List<? extends ObjectError> objectErrors) { String[] errorCodes = new String[objectErrors.size()]; for (int i = 0; i < objectErrors.size(); i++) { ObjectError error = objectErrors.get(i); errorCodes[i] = error.getCode(); } return errorCodes; }
assertEquals("NAME_TOUCHY_MISMATCH", errors.getGlobalError().getCode()); assertEquals("NAME_TOUCHY_MISMATCH", (errors.getGlobalErrors().get(0)).getCode()); assertEquals("NAME_TOUCHY_MISMATCH.tb", (errors.getGlobalErrors().get(0)).getCodes()[0]); assertEquals("NAME_TOUCHY_MISMATCH", (errors.getGlobalErrors().get(0)).getCodes()[1]); assertEquals("tb", (errors.getGlobalErrors().get(0)).getObjectName()); assertEquals("GENERAL_ERROR", (errors.getGlobalErrors().get(1)).getCode()); assertEquals("GENERAL_ERROR.tb", (errors.getGlobalErrors().get(1)).getCodes()[0]); assertEquals("GENERAL_ERROR", (errors.getGlobalErrors().get(1)).getCodes()[1]);
/** * Extract the error codes from the ObjectError list. */ private static String[] initErrorCodes(List<? extends ObjectError> objectErrors) { String[] errorCodes = new String[objectErrors.size()]; for (int i = 0; i < objectErrors.size(); i++) { ObjectError error = objectErrors.get(i); errorCodes[i] = error.getCode(); } return errorCodes; }
for (Object object : bindingResult.getAllErrors()) { if(object instanceof FieldError) { FieldError fieldError = (FieldError) object; System.out.println(fieldError.getCode()); } if(object instanceof ObjectError) { ObjectError objectError = (ObjectError) object; System.out.println(objectError.getCode()); } }
protected String translateErrorMessage(ObjectError error) { BroadleafRequestContext context = BroadleafRequestContext.getBroadleafRequestContext(); if (context != null && context.getMessageSource() != null) { return context.getMessageSource().getMessage(error.getCode(), null, error.getCode(), context.getJavaLocale()); } else { LOG.warn("Could not find the MessageSource on the current request, not translating the message key"); return error.getCode(); } } }
/** * Populates the given <b>json</b> response object based on the given <b>form</b> and <b>result</b> * @return the same <b>result</b> that was passed in */ protected JsonResponse populateJsonValidationErrors(EntityForm form, BindingResult result, JsonResponse json) { List<Map<String, Object>> errors = new ArrayList<>(); for (FieldError e : result.getFieldErrors()){ Map<String, Object> errorMap = new HashMap<>(); errorMap.put("errorType", "field"); String fieldName = e.getField().substring(e.getField().indexOf("[") + 1, e.getField().indexOf("]")).replace("_", "-"); errorMap.put("field", fieldName); errorMap.put("message", translateErrorMessage(e)); errorMap.put("code", e.getCode()); String tabFieldName = fieldName.replaceAll("-+", "."); Tab errorTab = form.findTabForField(tabFieldName); if (errorTab != null) { errorMap.put("tab", errorTab.getTitle()); } errors.add(errorMap); } for (ObjectError e : result.getGlobalErrors()) { Map<String, Object> errorMap = new HashMap<>(); errorMap.put("errorType", "global"); errorMap.put("code", e.getCode()); errorMap.put("message", translateErrorMessage(e)); errors.add(errorMap); } json.with("errors", errors); return json; }
@Test public void webBindingInitializer() throws Exception { RequestMappingHandlerAdapter adapter = this.config.requestMappingHandlerAdapter(); ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) adapter.getWebBindingInitializer(); assertNotNull(initializer); BeanPropertyBindingResult bindingResult = new BeanPropertyBindingResult(null, ""); initializer.getValidator().validate(null, bindingResult); assertEquals("invalid", bindingResult.getAllErrors().get(0).getCode()); String[] codes = initializer.getMessageCodesResolver().resolveMessageCodes("invalid", null); assertEquals("custom.invalid", codes[0]); }
result.put(translatedGeneralTab, tabErrors); addFieldError(GENERAL_ERROR_FIELD_KEY, err.getCode(), tabErrors);
@Test public void testBindExceptionSerializable() throws Exception { SerializablePerson tb = new SerializablePerson(); tb.setName("myName"); tb.setAge(99); BindException ex = new BindException(tb, "tb"); ex.reject("invalid", "someMessage"); ex.rejectValue("age", "invalidField", "someMessage"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(ex); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); ObjectInputStream ois = new ObjectInputStream(bais); BindException ex2 = (BindException) ois.readObject(); assertTrue(ex2.hasGlobalErrors()); assertEquals("invalid", ex2.getGlobalError().getCode()); assertTrue(ex2.hasFieldErrors("age")); assertEquals("invalidField", ex2.getFieldError("age").getCode()); assertEquals(new Integer(99), ex2.getFieldValue("age")); ex2.rejectValue("name", "invalidField", "someMessage"); assertTrue(ex2.hasFieldErrors("name")); assertEquals("invalidField", ex2.getFieldError("name").getCode()); assertEquals("myName", ex2.getFieldValue("name")); }
@Test public void testNotAnOrder() { String notAnOrder = "order"; Errors errors = new BeanPropertyBindingResult(notAnOrder, "validOrder"); orderValidator.validate(notAnOrder, errors); assertEquals(1, errors.getAllErrors().size()); assertEquals("Incorrect type", errors.getAllErrors().get(0).getCode()); errors = new BeanPropertyBindingResult(notAnOrder, "validOrder"); orderValidator.validate(null, errors); assertEquals(0, errors.getAllErrors().size()); }
@Test public void testNestedValidatorWithoutNestedPath() { TestBean tb = new TestBean(); tb.setName("XXX"); Errors errors = new BeanPropertyBindingResult(tb, "tb"); Validator spouseValidator = new SpouseValidator(); spouseValidator.validate(tb, errors); assertTrue(errors.hasGlobalErrors()); assertEquals(1, errors.getGlobalErrorCount()); assertEquals("SPOUSE_NOT_AVAILABLE", errors.getGlobalError().getCode()); assertEquals("tb", (errors.getGlobalErrors().get(0)).getObjectName()); }
String defaultMessage = globalError.getDefaultMessage(); assertTrue("Global error message escaped", "message: " '".equals(defaultMessage)); assertTrue("Global error code not escaped", "GENERAL_ERROR \" '".equals(globalError.getCode())); ObjectError globalErrorInList = errors.getGlobalErrors().get(0); assertTrue("Same global error in list", defaultMessage.equals(globalErrorInList.getDefaultMessage()));
@Override protected boolean matchesSafely(Errors item) { if (code == null) { return item.hasGlobalErrors(); } else { return item.getGlobalErrors().stream().anyMatch(c -> code.equals(c.getCode())); } }
for (Object objerr : errors.getAllErrors()) { ObjectError error = (ObjectError) objerr; String message = Context.getMessageSourceService().getMessage(error.getCode()); if (error instanceof FieldError) { message = ((FieldError) error).getField() + ": " + message;
@Test public void shouldFailIfGivenNull() { validator.validate(null, errors); Assert.assertTrue(errors.hasErrors()); Assert.assertEquals("error.general", errors.getAllErrors().get(0).getCode()); }
/** * @see OrderValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldFailValidationIfOrderIsNull() { Errors errors = new BindException(new Order(), "order"); new OrderValidator().validate(null, errors); Assert.assertTrue(errors.hasErrors()); Assert.assertEquals("error.general", errors.getAllErrors().get(0).getCode()); }
/** * Extract the error codes from the ObjectError list. */ private static String[] initErrorCodes(List<? extends ObjectError> objectErrors) { String[] errorCodes = new String[objectErrors.size()]; for (int i = 0; i < objectErrors.size(); i++) { ObjectError error = objectErrors.get(i); errorCodes[i] = error.getCode(); } return errorCodes; }
private List<ErrorObj> getErrorList(List<ObjectError> objErrors) { List<ErrorObj> err = new ArrayList<>(); for (ObjectError er : objErrors) { ErrorObj obj = new ErrorObj(er.getCode(), er.getDefaultMessage()); err.add(obj); } return err; }