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

398
Vistas
Validador Node Js Express Compruebe si el campo es numérico solo si no está vacío

Uso express-validator para verificar mis campos de publicación, uno de mis campos debe ser un decimal o estar vacío. Usé este esquema:

 request.checkBody({ 'product_price': { optional: true, isDecimal: { errorMessage: 'The product price must be a decimal' } } })

El problema con este esquema es no validar mi publicación si product_price está vacío, incluso con "opcional: verdadero".

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Debe configurar la opción checkFalsy como optional para permitir valores definidos pero vacíos:

 request.checkBody({ 'product_price': { optional: { options: { checkFalsy: true } }, isDecimal: { errorMessage: 'The product price must be a decimal' } } });

EDITAR : la documentación se ha movido desde que se publicó esta respuesta, ahora se puede encontrar aquí .

about 4 years ago · Santiago Trujillo Denunciar

0

Lo que funcionó para mí fue usar req.checkBody('optionalParam', 'optionalParam must be a number').optional().isNumber();

about 4 years ago · Santiago Trujillo Denunciar

0

En caso de que alguien esté usando el cuerpo express-validator . Puedes hacer lo siguiente

 router.post('apiname', [ body('product_price').trim() .optional({ checkFalsy: true }) .isNumeric().withMessage('Only Decimals allowed'), ])
about 4 years ago · Santiago Trujillo Denunciar
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