Refactor code duplication

This commit is contained in:
abdelrahmanassem 2024-12-27 12:08:01 +02:00
parent 6148ddd967
commit 655f9cc5fc

View file

@ -103,10 +103,7 @@ class PetController {
if (StringUtils.hasText(pet.getName()) && pet.isNew() && owner.getPet(pet.getName(), true) != null)
result.rejectValue("name", "duplicate", "already exists");
LocalDate currentDate = LocalDate.now();
if (pet.getBirthDate() != null && pet.getBirthDate().isAfter(currentDate)) {
result.rejectValue("birthDate", "typeMismatch.birthDate");
}
validatePetBirthDate(pet, result);
if (result.hasErrors()) {
return VIEWS_PETS_CREATE_OR_UPDATE_FORM;
@ -137,10 +134,7 @@ class PetController {
}
}
LocalDate currentDate = LocalDate.now();
if (pet.getBirthDate() != null && pet.getBirthDate().isAfter(currentDate)) {
result.rejectValue("birthDate", "typeMismatch.birthDate");
}
validatePetBirthDate(pet, result);
if (result.hasErrors()) {
return VIEWS_PETS_CREATE_OR_UPDATE_FORM;
@ -151,5 +145,16 @@ class PetController {
redirectAttributes.addFlashAttribute("message", "Pet details has been edited");
return "redirect:/owners/{ownerId}";
}
private void validatePetBirthDate(Pet pet, BindingResult result) {
LocalDate currentDate = LocalDate.now();
if (pet.getBirthDate() != null && pet.getBirthDate().isAfter(currentDate)) {
result.rejectValue("birthDate", "typeMismatch.birthDate");
}
}
}