@GetMapping("/pets/new") public String initCreationForm(Owner owner, ModelMap model) { Pet pet = new Pet(); owner.addPet(pet); model.put("pet", pet); return VIEWS_PETS_CREATE_OR_UPDATE_FORM; }
@PostMapping("/pets/{petId}/edit") public String processUpdateForm(@Valid Pet pet, BindingResult result, Owner owner, ModelMap model) { if (result.hasErrors()) { pet.setOwner(owner); model.put("pet", pet); return VIEWS_PETS_CREATE_OR_UPDATE_FORM; } else { owner.addPet(pet); this.pets.save(pet); return "redirect:/owners/{ownerId}"; } }
@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}"; } }
@RequestMapping(value = "/pets/{petId}/edit", method = RequestMethod.POST) public String processUpdateForm(@Valid Pet pet, BindingResult result, Owner owner, ModelMap model) { if (result.hasErrors()) { model.put("pet", pet); return VIEWS_PETS_CREATE_OR_UPDATE_FORM; } else { owner.addPet(pet); this.pets.save(pet); return "redirect:/owners/{ownerId}"; } }
@RequestMapping(value = "/pets/new", method = RequestMethod.GET) public String initCreationForm(Owner owner, ModelMap model) { Pet pet = new Pet(); owner.addPet(pet); model.put("pet", pet); return VIEWS_PETS_CREATE_OR_UPDATE_FORM; }
@RequestMapping(value = "/pets/new", method = RequestMethod.POST) 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"); } if (result.hasErrors()) { model.put("pet", pet); return VIEWS_PETS_CREATE_OR_UPDATE_FORM; } else { owner.addPet(pet); this.pets.save(pet); return "redirect:/owners/{ownerId}"; } }