• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

558
Vistas
Cómo validar si el parámetro del cuerpo en la cadena Express Nodejs se puede convertir a JSON usando express-validation y joi

Estoy creando una función que acepta una solicitud de publicación. La solicitud de publicación también contiene un objeto JSON convertido en una cadena. En el backend, necesito validar si esta cadena se puede analizar en JSON y solo luego continuar. Existe la función de enrutamiento:

 var express = require('express'); var validate = require('express-validator'); var hotelController = require('../controllers/hotel-controller'); var hotelValidation = require('../validations/hotel-validation'); var router = express.Router(); router.route('/create') .post(validate(hotelValidation.createHotel), hotelController.create);

Aquí está el objeto de validación:

 var Joi = require('joi'); module.exports = { createHotel: { body: { //NEED TO CHECK IF THE BELOW FIELD //CAN BE CONVERTED TO JSON FROM STRING data: Joi.string().required() } } };
over 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Como se comentó en la pregunta, Joi.object() seguirá funcionando con una cadena JSON , Joi.array() también funciona.

Está documentado en la API.

Genera un objeto de esquema que coincide con un tipo de datos de objeto (así como cadenas JSON que se analizan en objetos).

Por ejemplo, dado el esquema:

 Joi.object().keys({ body: Joi.object().keys({ data: Joi.object(), array: Joi.array() }) })

Una carga útil válida puede ser:

 { body: { data: '{"json": true, "foo": "bar"}', array: '[1, 2, 3, "hello", 4, "world"]' } }

El ejemplo anterior se puede demostrar aquí , simplemente pegue el esquema y los datos del ejemplo.

over 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda