Files
THE-TIP-TOP/backend/src/validations/auth.validation.js
Emma781227 2201446ee6 changement
2026-09-14 22:30:40 +02:00

31 lines
1.0 KiB
JavaScript

const { z } = require("zod");
const { passwordSchema } = require("./password.validation");
const { emailSchema } = require("./email.validation");
const registerSchema = z
.object({
firstname: z.string().min(2, "Le prénom doit contenir au moins 2 caractères"),
lastname: z.string().min(2, "Le nom doit contenir au moins 2 caractères"),
email: emailSchema,
password: passwordSchema,
// Vérifiée aussi côté serveur : le contrôle du navigateur ne protège pas
// un appel direct à l'API.
confirmPassword: z.string({ error: "Veuillez confirmer le mot de passe" }),
birthdate: z.string().optional(),
gender: z.string().optional(),
marketingOptIn: z.boolean().optional(),
})
.refine((data) => data.password === data.confirmPassword, {
message: "Les deux mots de passe ne correspondent pas",
path: ["confirmPassword"],
});
const loginSchema = z.object({
email: emailSchema,
password: z.string().min(1, "Mot de passe requis"),
});
module.exports = {
registerSchema,
loginSchema,
};