changement
This commit is contained in:
@@ -1,17 +1,27 @@
|
||||
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: z.string().email("Email invalide"),
|
||||
password: z.string().min(8, "Le mot de passe doit contenir au moins 8 caractères"),
|
||||
birthdate: z.string().optional(),
|
||||
gender: z.string().optional(),
|
||||
marketingOptIn: z.boolean().optional(),
|
||||
});
|
||||
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: z.string().email("Email invalide"),
|
||||
email: emailSchema,
|
||||
password: z.string().min(1, "Mot de passe requis"),
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user