Add validación y slug del signup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Carlos Narro
2026-05-30 19:49:09 +02:00
parent e1f12f94c6
commit aecfb2c7e3
2 changed files with 46 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
import { z } from 'zod';
export const signupSchema = z.object({
nombre: z.string().trim().min(1, 'Indica tu nombre.'),
email: z.string().trim().toLowerCase().email('Email no válido.'),
empresa: z.string().trim().min(1, 'Indica el nombre de tu empresa.'),
provincia: z.string().trim().min(1, 'Indica tu provincia.'),
password: z.string().min(8, 'La contraseña debe tener al menos 8 caracteres.'),
optInMarketing: z.union([z.literal('on'), z.literal('')]).optional(),
});
export type SignupInput = z.infer<typeof signupSchema>;
export function slugify(value: string): string {
return value
.normalize('NFD')
.replace(/[̀-ͯ]/g, '')
.toLowerCase()
.replace(/[^a-z0-9]+/g, '-')
.replace(/^-+|-+$/g, '');
}