From ed81548b4501ec0d94cfef02c89ee33f154df74c Mon Sep 17 00:00:00 2001 From: Mirna Gama Date: Thu, 4 Jan 2024 10:16:10 -0300 Subject: [PATCH] [R1] Add validation annotation for address and doctor dtos --- .../domain/dtos/AddressDTO.java | 26 ++++++++++++++-- .../domain/dtos/DoctorDTO.java | 30 ++++++++++++++++++- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/mirna/hospitalmanagementapi/domain/dtos/AddressDTO.java b/src/main/java/com/mirna/hospitalmanagementapi/domain/dtos/AddressDTO.java index 704d9dc..e92e954 100644 --- a/src/main/java/com/mirna/hospitalmanagementapi/domain/dtos/AddressDTO.java +++ b/src/main/java/com/mirna/hospitalmanagementapi/domain/dtos/AddressDTO.java @@ -1,5 +1,27 @@ package com.mirna.hospitalmanagementapi.domain.dtos; -public record AddressDTO(String street, String neighborhood, String zipCode, String city, String state, - String additionalDetails, String houseNumber) { +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Pattern; + +public record AddressDTO( + + @NotBlank(message="street cannot be blank") + String street, + + @NotBlank(message="neighborhood cannot be blank") + String neighborhood, + + @NotBlank(message="zipCode cannot be blank") + @Pattern(regexp="\\d{8}", message="invalid format for zipCode") + String zipCode, + + @NotBlank(message="city cannot be blank") + String city, + + @NotBlank(message="state cannot be blank") + String state, + + String additionalDetails, + + String houseNumber) { } diff --git a/src/main/java/com/mirna/hospitalmanagementapi/domain/dtos/DoctorDTO.java b/src/main/java/com/mirna/hospitalmanagementapi/domain/dtos/DoctorDTO.java index ad9cce9..06756b3 100644 --- a/src/main/java/com/mirna/hospitalmanagementapi/domain/dtos/DoctorDTO.java +++ b/src/main/java/com/mirna/hospitalmanagementapi/domain/dtos/DoctorDTO.java @@ -2,6 +2,34 @@ package com.mirna.hospitalmanagementapi.domain.dtos; import com.mirna.hospitalmanagementapi.domain.enums.Speciality; -public record DoctorDTO(String name, String email, String crm, String telephone, Speciality speciality, AddressDTO addressDTO) { +import jakarta.validation.Valid; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; + +public record DoctorDTO( + + @NotBlank(message="name cannot be blank") + String name, + + @NotBlank(message="email cannot be blank") + @Email(message="invalid format for email") + String email, + + @NotBlank(message="crm cannot be blank") + @Pattern(regexp = "\\d{4,6}", message="invalid format for crm") + String crm, + + @NotBlank(message="telephone cannot be blank") + String telephone, + + @NotNull(message="speciality cannot be null") + @Valid + Speciality speciality, + + @NotNull(message="address cannot be null") + @Valid + AddressDTO address) { }