From ee73d2c6a9ff7e2c0feff04b66678c03ad9742dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pesti=20Tam=C3=A1s?= <pesti.tamas@hallgato.ppke.hu> Date: Wed, 15 May 2024 21:37:37 +0200 Subject: [PATCH] Validate breed in backend --- backend/src/main/java/hu/pazmany/controller/Controller.java | 6 +++++- frontend/src/components/dogs/AddDog.vue | 6 +++--- frontend/src/components/dogs/EditDog.vue | 6 +++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/backend/src/main/java/hu/pazmany/controller/Controller.java b/backend/src/main/java/hu/pazmany/controller/Controller.java index 766a5b2..a36197b 100644 --- a/backend/src/main/java/hu/pazmany/controller/Controller.java +++ b/backend/src/main/java/hu/pazmany/controller/Controller.java @@ -156,8 +156,12 @@ public class Controller { public ResponseEntity<?> validateDogData(@Valid @RequestBody DetailedDogDTO request) { if (request.getName().length() < 2 || request.getName().length() > 20) return ResponseEntity.badRequest().body("A kutyanév 2 és 20 karakter között legyen"); - if (!Pattern.matches("^[a-zA-ZáéíóöőúüűÁÉÍÓÖŐÚÜŰ ]*$",request.getName())) + if (!Pattern.matches("^[a-zA-ZáéíóöőúüűÁÉÍÓÖŐÚÜŰ ]{2,20}$",request.getName())) return ResponseEntity.badRequest().body("A kutyanév kis- és nagybetűkből álljon"); + if (request.getBreed().length() < 2 || request.getBreed().length() > 20) + return ResponseEntity.badRequest().body("A fajta neve 2 és 20 karakter között legyen"); + if (!Pattern.matches("^[a-zA-ZáéíóöőúüűÁÉÍÓÖŐÚÜŰ ]{2,20}$",request.getBreed())) + return ResponseEntity.badRequest().body("A fajta neve kis- és nagybetűkből álljon"); if (request.getAge() < 0) return ResponseEntity.badRequest().body("A kutya életkora nem lehet negatív"); return null; diff --git a/frontend/src/components/dogs/AddDog.vue b/frontend/src/components/dogs/AddDog.vue index 6add1fc..cf397ea 100644 --- a/frontend/src/components/dogs/AddDog.vue +++ b/frontend/src/components/dogs/AddDog.vue @@ -74,15 +74,15 @@ export default { const name = this.dog.name; const breed = this.dog.breed; const age = this.dog.age; - const regex = /^[a-zA-ZáéíóöőúüűÁÉÍÓÖŐÚÜŰ ]*$/; + const regex = /^[a-zA-ZáéíóöőúüűÁÉÍÓÖŐÚÜŰ ]{2,20}$/; if (!name.match(regex)) { - this.errorMessage = "Helytelen név. Csak betűket tartalmazhat."; + this.errorMessage = "Helytelen név. Csak betűket tartalmazhat (2-20 karakter)."; return false; } if (!breed.match(regex)) { - this.errorMessage = "Helytelen fajta. Csak betűket tartalmazhat."; + this.errorMessage = "Helytelen fajta. Csak betűket tartalmazhat (2-20 karakter)."; return false; } diff --git a/frontend/src/components/dogs/EditDog.vue b/frontend/src/components/dogs/EditDog.vue index abd2dc6..90182a1 100644 --- a/frontend/src/components/dogs/EditDog.vue +++ b/frontend/src/components/dogs/EditDog.vue @@ -79,15 +79,15 @@ export default { const name = this.dog.name; const breed = this.dog.breed; const age = this.dog.age; - const regex = /^[a-zA-ZáéíóöőúüűÁÉÍÓÖŐÚÜŰ ]*$/; + const regex = /^[a-zA-ZáéíóöőúüűÁÉÍÓÖŐÚÜŰ ]{2,20}$/; if (!name.match(regex)) { - this.errorMessage = "Helytelen név. Csak betűket tartalmazhat."; + this.errorMessage = "Helytelen név. Csak betűket tartalmazhat (2-20 karakter)."; return false; } if (!breed.match(regex)) { - this.errorMessage = "Helytelen fajta. Csak betűket tartalmazhat."; + this.errorMessage = "Helytelen fajta. Csak betűket tartalmazhat (2-20 karakter)."; return false; } -- GitLab