@Override public void rejectValue(@Nullable String field, String errorCode) { this.bindingResult.rejectValue(field, errorCode); }
@Override public void rejectValue(@Nullable String field, String errorCode) { this.bindingResult.rejectValue(field, errorCode); }
@Override public void rejectValue(@Nullable String field, String errorCode, String defaultMessage) { this.bindingResult.rejectValue(field, errorCode, defaultMessage); }
@Override public void rejectValue(@Nullable String field, String errorCode, String defaultMessage) { this.bindingResult.rejectValue(field, errorCode, defaultMessage); }
@Override public void rejectValue( @Nullable String field, String errorCode, @Nullable Object[] errorArgs, @Nullable String defaultMessage) { this.bindingResult.rejectValue(field, errorCode, errorArgs, defaultMessage); }
@Override public void rejectValue(@Nullable String field, String errorCode, @Nullable Object[] errorArgs, @Nullable String defaultMessage) { this.bindingResult.rejectValue(field, errorCode, errorArgs, defaultMessage); }
@Override public void rejectValue(@Nullable String field, String errorCode) { this.bindingResult.rejectValue(field, errorCode); }
@Override public void rejectValue(@Nullable String field, String errorCode, String defaultMessage) { this.bindingResult.rejectValue(field, errorCode, defaultMessage); }
@Override public void rejectValue(@Nullable String field, String errorCode) { this.bindingResult.rejectValue(field, errorCode); }
@Override public void rejectValue(@Nullable String field, String errorCode, String defaultMessage) { this.bindingResult.rejectValue(field, errorCode, defaultMessage); }
@Override public void rejectValue(@Nullable String field, String errorCode, @Nullable Object[] errorArgs, @Nullable String defaultMessage) { this.bindingResult.rejectValue(field, errorCode, errorArgs, defaultMessage); }
@Override public void rejectValue( @Nullable String field, String errorCode, @Nullable Object[] errorArgs, @Nullable String defaultMessage) { this.bindingResult.rejectValue(field, errorCode, errorArgs, defaultMessage); }
@GetMapping("/owners") public String processFindForm(Owner owner, BindingResult result, Map<String, Object> model) { // allow parameterless GET request for /owners to return all records if (owner.getLastName() == null) { owner.setLastName(""); // empty string signifies broadest possible search } // find owners by last name Collection<Owner> results = this.owners.findByLastName(owner.getLastName()); if (results.isEmpty()) { // no owners found result.rejectValue("lastName", "notFound", "not found"); return "owners/findOwners"; } else if (results.size() == 1) { // 1 owner found owner = results.iterator().next(); return "redirect:/owners/" + owner.getId(); } else { // multiple owners found model.put("selections", results); return "owners/ownersList"; } }
/** * Validates the {@link UserForm}. * * @param errors * @param userManagement */ default void validate(BindingResult errors, UserManagement userManagement) { rejectIfEmptyOrWhitespace(errors, "username", "user.username.empty"); rejectIfEmptyOrWhitespace(errors, "password", "user.password.empty"); rejectIfEmptyOrWhitespace(errors, "repeatedPassword", "user.repeatedPassword.empty"); if (!getPassword().equals(getRepeatedPassword())) { errors.rejectValue("repeatedPassword", "user.password.no-match"); } try { userManagement.findByUsername(new Username(getUsername())).ifPresent( user -> errors.rejectValue("username", "user.username.exists")); } catch (IllegalArgumentException o_O) { errors.rejectValue("username", "user.username.invalidFormat"); } } }
@PostMapping("/pets/new") public String processCreationForm(Owner owner, @Valid Pet pet, BindingResult result, ModelMap model) { if (StringUtils.hasLength(pet.getName()) && pet.isNew() && owner.getPet(pet.getName(), true) != null){ result.rejectValue("name", "duplicate", "already exists"); } owner.addPet(pet); if (result.hasErrors()) { model.put("pet", pet); return VIEWS_PETS_CREATE_OR_UPDATE_FORM; } else { this.pets.save(pet); return "redirect:/owners/{ownerId}"; } }
@Before public void setUp() throws Exception { this.matchers = new ModelResultMatchers(); ModelAndView mav = new ModelAndView("view", "good", "good"); BindingResult bindingResult = new BeanPropertyBindingResult("good", "good"); mav.addObject(BindingResult.MODEL_KEY_PREFIX + "good", bindingResult); this.mvcResult = getMvcResult(mav); Date date = new Date(); BindingResult bindingResultWithError = new BeanPropertyBindingResult(date, "date"); bindingResultWithError.rejectValue("time", "error"); ModelAndView mavWithError = new ModelAndView("view", "good", "good"); mavWithError.addObject("date", date); mavWithError.addObject(BindingResult.MODEL_KEY_PREFIX + "date", bindingResultWithError); this.mvcResultWithError = getMvcResult(mavWithError); }
@Test public void testCustomFormatterForAllStringProperties() { TestBean tb = new TestBean(); DataBinder binder = new DataBinder(tb, "tb"); binder.addCustomFormatter(new Formatter<String>() { @Override public String parse(String text, Locale locale) throws ParseException { return "prefix" + text; } @Override public String print(String object, Locale locale) { return object.substring(6); } }); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("name", "value"); pvs.add("touchy", "value"); binder.bind(pvs); binder.getBindingResult().rejectValue("name", "someCode", "someMessage"); binder.getBindingResult().rejectValue("touchy", "someCode", "someMessage"); assertEquals("value", binder.getBindingResult().getFieldValue("name")); assertEquals("prefixvalue", binder.getBindingResult().getFieldError("name").getRejectedValue()); assertEquals("prefixvalue", tb.getName()); assertEquals("value", binder.getBindingResult().getFieldValue("touchy")); assertEquals("prefixvalue", binder.getBindingResult().getFieldError("touchy").getRejectedValue()); assertEquals("prefixvalue", tb.getTouchy()); }
@Test public void testCustomEditorForAllStringProperties() { TestBean tb = new TestBean(); DataBinder binder = new DataBinder(tb, "tb"); binder.registerCustomEditor(String.class, null, new PropertyEditorSupport() { @Override public void setAsText(String text) throws IllegalArgumentException { setValue("prefix" + text); } @Override public String getAsText() { return ((String) getValue()).substring(6); } }); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("name", "value"); pvs.add("touchy", "value"); binder.bind(pvs); binder.getBindingResult().rejectValue("name", "someCode", "someMessage"); binder.getBindingResult().rejectValue("touchy", "someCode", "someMessage"); assertEquals("value", binder.getBindingResult().getFieldValue("name")); assertEquals("prefixvalue", binder.getBindingResult().getFieldError("name").getRejectedValue()); assertEquals("prefixvalue", tb.getName()); assertEquals("value", binder.getBindingResult().getFieldValue("touchy")); assertEquals("prefixvalue", binder.getBindingResult().getFieldError("touchy").getRejectedValue()); assertEquals("prefixvalue", tb.getTouchy()); }
binder.bind(pvs); binder.getBindingResult().rejectValue("name", "someCode", "someMessage"); binder.getBindingResult().rejectValue("touchy", "someCode", "someMessage"); binder.getBindingResult().rejectValue("spouse.name", "someCode", "someMessage");
binder.bind(pvs); binder.getBindingResult().rejectValue("name", "someCode", "someMessage"); binder.getBindingResult().rejectValue("touchy", "someCode", "someMessage"); binder.getBindingResult().rejectValue("spouse.name", "someCode", "someMessage");