Sails tambien tiene validaciones dentro de la definición de los atributos en el modelo.
https://sailsjs.com/documentation/concepts/models-and-orm/validations
Tiene una por ejemplo para email.
Introducción
Qué aprenderás sobre API con Sails.js
Presentando el proyecto
Comenzando con Sails
Introducción a Sails.js
Estructura de archivos
Preparación del ambiente de desarrollo
Setup de Espacio de Trabajo
Generando rutas REST con blueprint
Instalación de MongoDB
Conexión a Mongo
Instalar MySQL y usarlo con Sails (a través de WaterLine)
CRUD
Entendiendo operaciones CRUD
Crear modelo de rodada
Crear app de Ionic
Obtener todas las Rodadas: preparando la aplicación para mostrar datos
Obtener todas las Rodadas: mostrando los datos
Crear Rodada: recibiendo parámetros desde la URL
Crear Rodada: enviando información desde el formulario
Actualizar Rodada
Eliminar Rodadas
Autenticación y Usuarios
Obtener Rodada
Crear Modelo y Controller de Usuarios
Implementar validación de modelo
Nueva versión de la librería Joi
Crear Usuario
Cifrado de contraseña
Implementación de Login
Sistemas Externos
Uso de JSON Web Token
Policies: verificar si usuario está loggeado
Agregar usuario a Ride
Preparando la App para implementar el Login y Sign up
Implementando Login
Implementando Sign up
Agregar puntos de Rodada
Obtener API Keys para Clima y Distancias
Integración Google Geocoding: definiendo la lógica
Integración Google Geocoding: probando la funcionalidad
Integración Weather API
Desplegar clima, distancia y tiempo en cada punto de Rodada
Cierre
Cierre
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Eduardo Ibarra
Aportes 6
Preguntas 0
Sails tambien tiene validaciones dentro de la definición de los atributos en el modelo.
https://sailsjs.com/documentation/concepts/models-and-orm/validations
Tiene una por ejemplo para email.
Al cambiar la librería de JOI cambia la forma de validar los datos.
Ahora para realizar la validación se realiza de la siguiente manera:
const params = await schema.validateAsync(req.allParams())
signup: async function (req, res) {
try {
const schema = Joi.object().keys({
email: Joi
.string()
.required()
.email(),
password: Joi.string().required()
});
const params = await schema.validate(req.allParams());
return res.ok(params);
} catch (error) {
if (error.name === 'ValidationError') {
return res.badRequest({ error }).json();
}
return res.serverError({ error }).json();
}
},
✌
El módulo de JOI, el que se muestra en el video esta deprecado y pronto se dejará de mantener. Por lo que se sugiere utilizar el siguiente que es donde se continuó el desarrollo de la librería.
Para ver la descripción del error, puede ponerse console.log en el catch así:
} catch (err) { console.log(err.stringify) if (err.name === 'ValidationError') { return res.badRequest({err}).json(); } return res.serverError({err}).json(); }
el output puede verse en consola levantando el servidor con sails lift
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?