-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvalidation.js
23 lines (20 loc) · 1.14 KB
/
validation.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Dependencias: Joi = Biblioteca para lidar com validações
import Joi from "joi";
// Modelo (Schema) que os inputs de dados devem respeitar
export const gestanteSchema = (requisicao) => {
const schema = Joi.object({
// id: Joi.string().required(),
nome: Joi.string().min(1).max(50).required(),
data: Joi.date().iso().required(), // Valida que 'data' é uma data no formato ISO
endereco: Joi.string().min(1).max(100).required(),
telefone: Joi.string().min(11).required(), // Ajuste para length(11) se o telefone tiver exatamente 11 dígitos
equipe: Joi.string().valid('azul', 'amarela', 'verde').required(), // Valida que 'equipe' deve ser um dos valores válidos
parceiro: Joi.string().allow('').optional(), // Permite string vazia e campo opcional
dum: Joi.date().iso().required(), // Valida que 'data' é uma data no formato ISO
gestacoes: Joi.number().required(),
risco: Joi.string().valid('alto', 'baixo').required(),
});
// Validando o modelo
const {error} = schema.validate(requisicao, {abortEarly: false});// Não aborta na primeira falha
return error;
}