-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvalidarPet.js
More file actions
55 lines (46 loc) · 1.42 KB
/
validarPet.js
File metadata and controls
55 lines (46 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import { check, validationResult } from "express-validator";
// Middleware para verificar os erros de validação
export const validateRequest = (req, res, next) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({
error: true,
message: "Erro de validação",
errors: errors.array(),
});
}
next();
};
export const validatePet = [
check("nomePet")
.notEmpty()
.withMessage("O nome do pet é obrigatório")
.isLength({ max: 50 })
.withMessage("O nome do pet deve ter no máximo 50 caracteres"),
check("especie")
.notEmpty()
.withMessage("A espécie é obrigatória"),
check("raca")
.notEmpty()
.withMessage("A raça é obrigatória"),
check("sexo")
.notEmpty()
.withMessage("O sexo é obrigatório")
.isIn(["macho", "fêmea"])
.withMessage("Sexo deve ser 'Macho' ou 'Fêmea'"),
check("porte")
.notEmpty()
.withMessage("O porte é obrigatório")
.isIn(["pequeno", "médio", "grande"])
.withMessage("Porte deve ser 'Pequeno', 'Médio' ou 'Grande'"),
// Data de nascimento e observações são opcionais
check("dataNascimento")
.optional()
.isISO8601()
.withMessage("A data de nascimento deve ser uma data válida"),
check("observacoes")
.optional()
.isLength({ max: 500 })
.withMessage("Observações devem ter no máximo 500 caracteres"),
validateRequest,
];