Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

ValidationMesages.properties não funcionou

Olá pessoal, meu código não funcionou, criei o arquivo na pasta correta, fiz a anotação conforme recomendado, mas acabou que imprime a string {nome.obrigatorio} e não o que tá no arquivo

codigo do dto cadastrolocalização do arquivo Validation

2 respostas

Oi Danilo!

Eu testei aqui com o projeto final do curso e funcionou certinho a leitura da mensagem do arquivo properties.

Vi que o seu código e arquivo properties estão corretos, então acho que talvez o projeto não tenha sido reiniciado e não pegou as mudanças.

Verifica também sua classe de tratamento de erros se está assim:

@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity tratarErro400(MethodArgumentNotValidException ex) {
    var erros = ex.getFieldErrors();
    return ResponseEntity.badRequest().body(erros.stream().map(DadosErroValidacao::new).toList());
}

private record DadosErroValidacao(String campo, String mensagem) {
    public DadosErroValidacao(FieldError erro) {
        this(erro.getField(), erro.getDefaultMessage());
    }
}
solução!

Rodrigo, eu descobri olhando para a imagem depois de seu post. Tem um espaço antes do V de validation