Validação não aparece . | Fórum | School of Net

Deseja poder participar de nosso fórum e tirar todas as suas dúvidas?
Clique aqui e assine nosso plano de acesso ilimitado. Saiba mais.

por Laryssa

2 meses, 1 semana atrás Laryssa

Validação não aparece .

Estou fazendo a validação de dois campos email e cpf, que quero que sejam únicos, estava funcionando até ontem, hoje fui testa todas as funcionalidade e não tive o retorno de erro do campo email e cpf de forma adequada . link no github: https://github.com/LaryssaGomes/DesafioOrangeTalents/tree/main/src/main/java/com/orangetalents/api/validation Não encontrei o erro no código, fiz uma verificação se as classes estavam sendo chamadas e estão, porém quando ocorre um erro eu recebo apenas erro 400 sem qualquer informação além disso e no console essas infomações abaixo sobre a validação. ``` ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.bind.MethodArgumentNotValidException: Validation failed for argument [0] in public org.springframework.http.ResponseEntity<com.orangetalents.api.dto.PersonDTO> com.orangetalents.api.controllers.PersonController.create(com.orangetalents.api.dto.PersonDTO) with 2 errors: [Field error in object 'personDTO' on field 'email': rejected value [[email protected]]; codes [UniqueEmail.personDTO.email,UniqueEmail.email,UniqueEmail.java.lang.String,UniqueEmail]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [personDTO.email,email]; arguments []; default message [email]]; default message [E-mail is already registered in the system]] [Field error in object 'personDTO' on field 'cpf': rejected value [13533473465]; codes [UniqueCpf.personDTO.cpf,UniqueCpf.cpf,UniqueCpf.java.lang.String,UniqueCpf]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [personDTO.cpf,cpf]; arguments []; default message [cpf]]; default message [CPF is already registered in the system]] ] ``` Meu UniqueCpfValidador ``` package com.orangetalents.api.validation.validators; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import org.springframework.beans.factory.annotation.Autowired; import com.orangetalents.api.repositories.PersonRepository; import com.orangetalents.api.validation.annotations.UniqueCpf; public class UniqueCpfValidator implements ConstraintValidator<UniqueCpf, String>{ @Autowired private PersonRepository personRepository; @Override public boolean isValid(String cpf, ConstraintValidatorContext constraintValidatorContext) { return !personRepository.findByCpf(cpf).isPresent(); } } ``` Meu UniqueCpf ``` package com.orangetalents.api.validation.annotations; import java.lang.annotation.Documented; import java.lang.annotation.Target; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import com.orangetalents.api.validation.validators.UniqueCpfValidator; import javax.validation.Constraint; import javax.validation.Payload; @Documented @Constraint(validatedBy = UniqueCpfValidator.class) @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) public @interface UniqueCpf { String message() default "CPF is already registered in the system"; Class<?>[] groups() default { }; Class<? extends Payload>[] payload() default { }; } ```

6 Respostas