@qcobro/common que usa la API, antes de enviar la petición. Una entrada inválida —un
lote vacío, un enum desconocido, un email malformado— lanza un ValidationError y no
realiza ninguna llamada de red.
Captura un ValidationError
ValidationError se reexporta desde @qcobro/sdk, así que puedes capturarlo sin depender de
@qcobro/common directamente.
La forma del error
UnValidationError lleva un código estable, un mensaje legible y una lista de errores por
campo.
Siempre
"VALIDATION_ERROR". Úsalo para distinguir los fallos de validación de otros
errores.Resumen legible que combina los errores de campo (por ejemplo
name: ...; clientId: ...).Un elemento por campo inválido. Cada
FieldError tiene field, message y code.fieldErrors tiene esta forma:
Ruta del campo inválido (por ejemplo
rows.0.email), o "root" si el error no es de un
campo concreto.Descripción legible del fallo de ese campo.
Código del fallo (por ejemplo
too_small, invalid_type), proveniente del esquema.Serializa el error
Para devolver el error en tu propia API o registrarlo, usatoJSON, que produce una
representación serializable.
Errores del servidor frente a errores de validación
La validación en el cliente solo atrapa entradas malformadas. Los errores que devuelve la API —comoUNAUTHORIZED cuando falta o caduca la autenticación— llegan como errores de tRPC, no
como ValidationError.
Ante un
UNAUTHORIZED, el cliente intenta por defecto refrescar el token una vez y
reintentar la petición. Solo si el reintento también falla aflora el error. Consulta
Autenticación y tokens.Siguientes pasos
Autenticación y tokens
Cómo el cliente refresca tokens y cómo aflora
UNAUTHORIZED.Referencia del SDK
Tipos y métodos exportados por
@qcobro/sdk.