From 32d6b95e79cb2469f34559eeab2c136a176f78c6 Mon Sep 17 00:00:00 2001 From: bijomutta Date: Fri, 7 Jul 2023 18:39:38 +0200 Subject: [PATCH] add birthdate validation --- .../samples/petclinic/owner/PetController.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/org/springframework/samples/petclinic/owner/PetController.java b/src/main/java/org/springframework/samples/petclinic/owner/PetController.java index 9d88f0399..11eb45a48 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/PetController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/PetController.java @@ -15,6 +15,7 @@ */ package org.springframework.samples.petclinic.owner; +import java.time.LocalDate; import java.util.Collection; import org.springframework.stereotype.Controller; @@ -87,6 +88,10 @@ class PetController { if (StringUtils.hasLength(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", "invalid", "Invalid birth date. Please select a valid date."); + } owner.addPet(pet); if (result.hasErrors()) { @@ -107,6 +112,12 @@ class PetController { @PostMapping("/pets/{petId}/edit") public String processUpdateForm(@Valid Pet pet, BindingResult result, Owner owner, ModelMap model) { + + LocalDate currentDate = LocalDate.now(); + if (pet.getBirthDate() != null && pet.getBirthDate().isAfter(currentDate)) { + result.rejectValue("birthDate", "invalid", "Invalid birth date. Please select a valid date."); + } + if (result.hasErrors()) { model.put("pet", pet); return VIEWS_PETS_CREATE_OR_UPDATE_FORM;