| import { z } from 'zod'
|
|
|
| export const codeEntrySchema = z.object({
|
| code: z.string()
|
| .length(5, 'Kód musí mít přesně 5 znaků')
|
| .regex(/^[A-Z0-9]{5}$/, 'Kód může obsahovat pouze písmena A-Z a číslice 0-9')
|
| })
|
|
|
| export const pinEntrySchema = z.object({
|
| pin: z.string()
|
| .length(5, 'PIN musí mít přesně 5 číslic')
|
| .regex(/^[0-9]{5}$/, 'PIN může obsahovat pouze číslice 0-9')
|
| })
|
|
|
| export const codeWithPinSchema = z.object({
|
| code: z.string().length(5).regex(/^[A-Z0-9]{5}$/),
|
|
|
|
|
| pin: z.preprocess(
|
| (val) => (typeof val === 'string' && val.trim() === '') ? undefined : val,
|
| z.string().length(5, 'PIN musí mít přesně 5 číslic').regex(/^[0-9]{5}$/, 'PIN může obsahovat pouze číslice 0-9').optional()
|
| )
|
| })
|
|
|
| export type CodeEntryForm = z.infer<typeof codeEntrySchema>
|
| export type PinEntryForm = z.infer<typeof pinEntrySchema>
|
| export type CodeWithPinForm = z.infer<typeof codeWithPinSchema> |