Created
April 21, 2020 16:41
-
-
Save mrtnzagustin/a11823c32ba4957f68df52952f62d415 to your computer and use it in GitHub Desktop.
Spanish messages to be used with @hapi/joi schema validation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"any.unknown": "no esta permitido", | |
"any.invalid": "contiene un valor invalido", | |
"any.empty": "no está permitido que sea vacío", | |
"any.required": "es requerido", | |
"any.allowOnly": "debería ser uno de las siguientes variantes: {{valids}}", | |
"any.default": "emitió un error cuando se ejecutó el metodo default", | |
"alternatives.base": "no coincide con ninguna de las alternativas permitidas", | |
"array.base": "debe ser un array", | |
"array.includes": "en la posición {{pos}} no coincide con ninguno de los tipos permitidos", | |
"array.includesSingle": "el valor de \"{{!key}}\" no coincide con ninguno de los tipos permitidos", | |
"array.includesOne": "en la posición {{pos}} falló porque {{reason}}", | |
"array.includesOneSingle": "el valor \"{{!key}}\" falló porque {{reason}}", | |
"array.includesRequiredUnknowns": "no contiene valor/es requerido/s: {{unknownMisses}} ", | |
"array.includesRequiredKnowns": "no contiene: {{knownMisses}}", | |
"array.includesRequiredBoth": "no contiene {{knownMisses}} y {{unknownMisses}} otros valores requeridos", | |
"array.excludes": "en la posición {{pos}} contiene un valor excluído", | |
"array.excludesSingle": "el valor \"{{!key}}\" contiene un valor excluído", | |
"array.min": "debe contener al menos {{limit}} items", | |
"array.max": "debe contener máximo {{limit}} items", | |
"array.length": "debe contener exactamente {{limit}} items", | |
"array.ordered": "en la posición {{pos}} falló porque {{reason}}", | |
"array.orderedLength": "en la posición {{pos}} falló porque el array debre contener como máximo {{limit}} items", | |
"array.sparse": "no debe ser un array esparcido", | |
"array.unique": "posición {{pos}} contiene un valor duplicado", | |
"boolean.base": "debe ser un valor verdadero/falso o si/no", | |
"binary.base": "debe ser un buffer o un string", | |
"binary.min": "debe ser como mínimo de {{limit}} bytes", | |
"binary.max": "debe ser como máximo de {{limit}} bytes", | |
"binary.length": "debe tener exactamente {{limit}} bytes", | |
"date.base": "debe ser una cantidad de milisegundos o una fecha en cadena de texto válida", | |
"date.min": "debe ser mayor o igual a \"{{limit}}\"", | |
"date.max": "debe ser menor o igual que \"{{limit}}\"", | |
"date.isoDate": "debe ser una fecha en formato ISO 8601", | |
"date.ref": "referencia a \"{{ref}}\", que no es una fecha válida", | |
"function.base": "debe ser una función", | |
"object.base": "debe ser un objeto", | |
"object.child": "hijo \"{{!key}}\" falló porque {{reason}}", | |
"object.min": "debe tener como mínimo {{limit}} hijo", | |
"object.max": "debe tener menos o a lo sumo {{limit}} hijo", | |
"object.length": "debe tener máximo {{limit}} hijo/s", | |
"object.allowUnknown": "no está permitido", | |
"object.with": "peer faltante: \"{{peer}}\"", | |
"object.without": "conflicto con peer prohibido: \"{{peer}}\"", | |
"object.missing": "debe contener al menos uno de: {{peers}}", | |
"object.xor": "contiene un conflicto con alguno de: {{peers}}", | |
"object.or": "debe contener al menos uno de: {{peers}}", | |
"object.and": "contiene {{present}} sin el requerido: {{missing}}", | |
"object.nand": "!!\"{{main}}\" no debe existir simultáneamente con {{peers}}", | |
"object.assert": "!!\"{{ref}}\" falló validacion porque \"{{ref}}\" falló a {{message}}", | |
"object.rename.multiple": "no se puede renombrar el hijo \"{{from}}\" porque múltiples re-nombramientos estan deshabilitados y otra clave fue renombrada a \"{{to}}\"", | |
"object.rename.override": "no se puede renombrar el hijo \"{{from}}\" porque la sobre escritura esta deshabilitada y el target \"{{to}}\" existe", | |
"object.type": "debe ser una instancia de \"{{type}}\"", | |
"number.base": "debe ser un número", | |
"number.min": "debe ser mayor o igual que {{limit}}", | |
"number.max": "debe ser menor o igual que {{limit}}", | |
"number.less": "debe ser menor a {{limit}}", | |
"number.greater": "debe ser mayor a {{limit}}", | |
"number.float": "debe ser un numero flotante", | |
"number.integer": "debe ser un número entero", | |
"number.negative": "debe ser un número negativo", | |
"number.positive": "debe ser un número positivo", | |
"number.precision": "no debe tener mas de {{limit}} decimales", | |
"number.ref": "referencia a \"{{ref}}\" que no es un número", | |
"number.multiple": "debe ser un múltiplo de {{multiple}}", | |
"string.base": "debe ser una cadena de texto", | |
"string.min": "debe ser mínimo de {{limit}} caracteres de largo", | |
"string.max": "debe ser de máximo {{limit}} caracteres de largo", | |
"string.length": "debe ser exactamente de {{limit}} caracteres de largo", | |
"string.alphanum": "debe contener solo letras y números", | |
"string.token": "debe contener solo letras, números y guines bajos", | |
"string.regex.base": "el valor \"{{!value}}\" no coincide con el pattern requerido: {{pattern}}", | |
"string.regex.name": "el valor \"{{!value}}\" no coincide con el nombre de pattern {{name}}", | |
"string.email": "debe ser un email válido", | |
"string.uri": "debe sre una uri válida", | |
"string.uriCustomScheme": "debe ser una uri válida con el esquema concidiente con el patrón {{scheme}}", | |
"string.isoDate": "debe ser una fecha en formato ISO 8601 válida", | |
"string.guid": "debe ser un GUID valido", | |
"string.hex": "debe contener solo caracteres hexadecimales", | |
"string.hostname": "deber ser un hostname válido", | |
"string.lowercase": "solo debe contener minúsculas", | |
"string.uppercase": "solo debe contener mayúsculas", | |
"string.trim": "no debe tener espacios en blanco delante o atrás", | |
"string.creditCard": "debe ser una tarjeta de crédito", | |
"string.ref": "referencia \"{{ref}}\" que no es un númerp", | |
"string.ip": "debe ser una dirección ip válida con un CDIR {{cidr}}", | |
"string.ipVersion": "debe ser una dirección ip válida de una de las siguientes versiones {{version}} con un CDIR {{cidr}}" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
AMAZING!! Thark work fine with this keys:
{ "any.unknown": "{{key}}: no está permitido", "any.invalid": "{{key}}: contiene un valor invalido", "any.empty": "{{key}}: no está permitido que sea vacío", "any.required": "{{key}}: es un campo requerido", "any.allowOnly": "{{key}}: debería ser uno de las siguientes variantes: {{valids}}", "any.default": "emitió un error cuando se ejecutó el metodo default", "alternatives.base": "{{key}}: no coincide con ninguna de las alternativas permitidas", "array.base": "{{key}}: debe ser un array", "array.includes": "{{key}}: en la posición {{pos}} no coincide con ninguno de los tipos permitidos", "array.includesSingle": "{{key}}: el valor de \"{{!key}}\" no coincide con ninguno de los tipos permitidos", "array.includesOne": "{{key}}: en la posición {{pos}} falló porque {{reason}}", "array.includesOneSingle": "{{key}}: el valor \"{{!key}}\" falló porque {{reason}}", "array.includesRequiredUnknowns": "{{key}}: no contiene valor/es requerido/s: {{unknownMisses}} ", "array.includesRequiredKnowns": "{{key}}: no contiene: {{knownMisses}}", "array.includesRequiredBoth": "{{key}}: no contiene {{knownMisses}} y {{unknownMisses}} otros valores requeridos", "array.excludes": "{{key}}: en la posición {{pos}} contiene un valor excluído", "array.excludesSingle": "{{key}}: el valor \"{{!key}}\" contiene un valor excluído", "array.min": "{{key}}: debe contener al menos {{limit}} items", "array.max": "{{key}}: debe contener máximo {{limit}} items", "array.length": "{{key}}: debe contener exactamente {{limit}} items", "array.ordered": "{{key}}: en la posición {{pos}} falló porque {{reason}}", "array.orderedLength": "{{key}}: en la posición {{pos}} falló porque el array debre contener como máximo {{limit}} items", "array.sparse": "{{key}}: no debe ser un array esparcido", "array.unique": "{{key}}: posición {{pos}} contiene un valor duplicado", "boolean.base": "{{key}}: debe ser un valor verdadero/falso o si/no", "binary.base": "{{key}}: debe ser un buffer o un string", "binary.min": "{{key}}: debe ser como mínimo de {{limit}} bytes", "binary.max": "{{key}}: debe ser como máximo de {{limit}} bytes", "binary.length": "{{key}}: debe tener exactamente {{limit}} bytes", "date.base": "{{key}}: debe ser una cantidad de milisegundos o una fecha en cadena de texto válida", "date.min": "{{key}}: debe ser mayor o igual a \"{{limit}}\"", "date.max": "{{key}}: debe ser menor o igual que \"{{limit}}\"", "date.isoDate": "{{key}}: debe ser una fecha en formato ISO 8601", "date.ref": "referencia a \"{{ref}}\", que no es una fecha válida", "function.base": "{{key}}: debe ser una función", "object.base": "{{key}}: debe ser un objeto", "object.child": "hijo \"{{!key}}\" falló porque {{reason}}", "object.min": "{{key}}: debe tener como mínimo {{limit}} hijo", "object.max": "{{key}}: debe tener menos o a lo sumo {{limit}} hijo", "object.length": "{{key}}: debe tener máximo {{limit}} hijo/s", "object.allowUnknown": "no está permitido", "object.with": "peer faltante: \"{{peer}}\"", "object.without": "conflicto con peer prohibido: \"{{peer}}\"", "object.missing": "{{key}}: debe contener al menos uno de: {{peers}}", "object.xor": "{{key}}: contiene un conflicto con alguno de: {{peers}}", "object.or": "{{key}}: debe contener al menos uno de: {{peers}}", "object.and": "contiene {{present}} sin el requerido: {{missing}}", "object.nand": "!!\"{{main}}\" no debe existir simultáneamente con {{peers}}", "object.assert": "!!\"{{ref}}\" falló validacion porque \"{{ref}}\" falló a {{message}}", "object.rename.multiple": "{{key}}: no se puede renombrar el hijo \"{{from}}\" porque múltiples re-nombramientos estan deshabilitados y otra clave fue renombrada a \"{{to}}\"", "object.rename.override": "{{key}}: no se puede renombrar el hijo \"{{from}}\" porque la sobre escritura esta deshabilitada y el target \"{{to}}\" existe", "object.type": "{{key}}: debe ser una instancia de \"{{type}}\"", "number.base": "{{key}}: debe ser un número", "number.min": "{{key}}: debe ser mayor o igual que {{limit}}", "number.max": "{{key}}: debe ser menor o igual que {{limit}}", "number.less": "{{key}}: debe ser menor a {{limit}}", "number.greater": "{{key}}: debe ser mayor a {{limit}}", "number.float": "{{key}}: debe ser un numero flotante", "number.integer": "{{key}}: debe ser un número entero", "number.negative": "{{key}}: debe ser un número negativo", "number.positive": "{{key}}: debe ser un número positivo", "number.precision": "{{key}}: no debe tener mas de {{limit}} decimales", "number.ref": "{{key}}: referencia a \"{{ref}}\" que no es un número", "number.multiple": "{{key}}: debe ser un múltiplo de {{multiple}}", "string.base": "{{key}}: debe ser una cadena de texto", "string.min": "{{key}}: debe ser mínimo de {{limit}} caracteres de largo", "string.max": "{{key}}: debe ser de máximo {{limit}} caracteres de largo", "string.length": "{{key}}: debe ser exactamente de {{limit}} caracteres de largo", "string.alphanum": "{{key}}: debe contener solo letras y números", "string.token": "{{key}}: debe contener solo letras, números y guines bajos", "string.regex.base": "{{key}}: el valor \"{{!value}}\" no coincide con el pattern requerido: {{pattern}}", "string.regex.name": "{{key}}: el valor \"{{!value}}\" no coincide con el nombre de pattern {{name}}", "string.email": "{{key}}: debe ser un email válido", "string.uri": "{{key}}: debe sre una uri válida", "string.uriCustomScheme": "{{key}}: debe ser una uri válida con el esquema concidiente con el patrón {{scheme}}", "string.isoDate": "{{key}}: debe ser una fecha en formato ISO 8601 válida", "string.guid": "{{key}}: debe ser un GUID valido", "string.hex": "{{key}}: debe contener solo caracteres hexadecimales", "string.hostname": "{{key}}: deber ser un hostname válido", "string.lowercase": "{{key}}: solo debe contener minúsculas", "string.uppercase": "{{key}}: solo debe contener mayúsculas", "string.trim": "{{key}}: no debe tener espacios en blanco delante o atrás", "string.creditCard": "{{key}}: debe ser una tarjeta de crédito", "string.ref": "Referencia \"{{ref}}\" que no es un número", "string.ip": "{{key}}: debe ser una dirección ip válida con un CDIR {{cidr}}", "string.ipVersion": "{{key}}: debe ser una dirección ip válida de una de las siguientes versiones {{version}} con un CDIR {{cidr}}", "object.unknown": "{{key}}: es un campo no es permitido" }
In joi u can use validations like this
const validate = schema.validate(data, {abortEarly: false}); if(validate.error){ let messageError = '' for (const index of validate.error.details.keys()) { const tmpErr = validate.error.details[index] const value = i18n.__(tmpErr.type , tmpErr.context) messageError = messageError === '' ?
${value}:
${messageError}, ${value}} next(Boom.badRequest(messageError, exceptions.DE001 )) }
When data its the request values