Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
Joi, agrega tipo de extensión con argumento

Quiero agregar el tipo splitArray a Joi, que convierte la cadena en una matriz usando el método Array.split . Como saben, Array.split puede dividirse por argumento, y quiero pasar este argumento durante la creación del esquema y no durante su uso.

Entonces, actualmente tengo esta extensión que me permite dividir una cadena en una matriz durante la validación con el uso de helpers :

 const splitArrayExt = joi => ({ base: joi.array(), coerce: (value, helpers) => ({ value: value.split ? value.split(helpers.prefs.split ? helpers.prefs.split : /\s+/) : value }), type: 'splitArray', )}

El problema es que tengo que pasar { split: <ANOTHER SPLIT ARG> } cada vez que llamo a validate .

¿Es posible simplemente hacer algo como esto:

 const JoiBase = require('joi'); ... const Joi = JoiBase.extend(splitArrayExt); const schema1 = Joi.splitArray().splitBy('|').items(Joi.string()) const schema2 = Joi.splitArray().splitBy(',').items(Joi.string()) schema1.validate('A|B,C') // values: [ 'A', 'B,C' ] schema2.validate('A|B,C') // values: [ 'A|B', 'C' ]
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda