22 lines
1.0 KiB
TypeScript
22 lines
1.0 KiB
TypeScript
import { z } from "zod";
|
||
|
||
export const loginSchema = z.object({
|
||
email: z.string().email({ message: "Geçerli bir e-posta adresi giriniz." }),
|
||
password: z.string().min(6, { message: "Şifre en az 6 karakter olmalıdır." }),
|
||
// Turnstile token is optional in schema but required for submission logic if enabled
|
||
turnstileToken: z.string().optional(),
|
||
});
|
||
|
||
export const registerSchema = z.object({
|
||
username: z.string().min(3, { message: "Kullanıcı adı en az 3 karakter olmalıdır." }),
|
||
email: z.string().email({ message: "Geçerli bir e-posta adresi giriniz." }),
|
||
password: z.string().min(8, { message: "Şifre en az 8 karakter olmalıdır." }),
|
||
confirmPassword: z.string().min(8, { message: "Şifre tekrarı en az 8 karakter olmalıdır." }),
|
||
}).refine((data) => data.password === data.confirmPassword, {
|
||
message: "Şifreler eşleşmiyor.",
|
||
path: ["confirmPassword"],
|
||
});
|
||
|
||
export type LoginInput = z.infer<typeof loginSchema>;
|
||
export type RegisterInput = z.infer<typeof registerSchema>;
|