Hola
Me pasa lo siguiente al cambiar la lógica para validar solo el rut chileno y sin validar el digito verificador que es un tema más complejo y fuera de mi alcance, y no sé si algun compañero ha vivido este tema, los datos son:
La clase DatosRegistroPaciente se ve así:
package med.voll.api.domain.paciente.dto; import jakarta.validation.Valid; import jakarta.validation.constraints.*; import med.voll.api.domain.direccion.DatosDireccion;
public record DatosRegistroPaciente( @NotBlank String nombre, @NotBlank @Email String email,
@NotBlank
@Size(min = 0, max = 15)
String telefono,
//validación para el RUT chileno
@Pattern(
regexp = "^\\d{1,3}(\\.\\d{3})*-?[0-9kK]$",
message = "El RUT debe tener el formato xx.xxx.xxx-x, para Chile")
@NotBlank
String documento,
@NotNull @Valid DatosDireccion direccion) {
}
Y la solicitud en Postman es: { "nombre" : "Felipe Muñoz", "email" : "felipe@voll.med", "telefono": "2223", "documento" : "12346", "especialidad": "ORTOPEDIA", "direccion":{ "calle":"calle 5", "distrito": "distrito 2", "ciudad": "Algarrobo", "numero": "1", "complemento": "a" } }-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pero, al usar el formato para validar el rut chileno y cambiando la solcitud me da este error:
POSTMAN:
"nombre" : "Felipe Muñoz",
"email" : "felipe@voll.med",
"telefono": "2223",
"documento" : "12.346.000-9",
"especialidad": "ORTOPEDIA",
"direccion":{
"calle":"calle 5",
"distrito": "distrito 2",
"ciudad": "Algarrobo",
"numero": "1",
"complemento": "a"
}
} ERROR
[ { "campo": "documento", "error": "debe coincidir con "\d{4,6}"" } ] Aparte, en el IDE todo funciona correctamente y en el logs de la terminal además tengo: Tomcat started on port(s): 8080 (http) with context path ''