Files
web/apps/scandic-web/components/HotelReservation/FindMyBooking/schema.ts

41 lines
937 B
TypeScript

import { defineMessage } from "react-intl"
import { z } from "zod"
defineMessage({
id: "Invalid booking number",
})
defineMessage({
id: "Booking number is required",
})
defineMessage({
id: "First name is required",
})
defineMessage({
id: "Last name is required",
})
defineMessage({
id: "Email address is required",
})
export const findMyBookingFormSchema = z.object({
bookingNumber: z
.string()
.trim()
.regex(/^[0-9]+(-[0-9])?$/, {
message: "Invalid booking number",
})
.min(1, {
message: "Booking number is required",
}),
firstName: z.string().trim().max(250).min(1, {
message: "First name is required",
}),
lastName: z.string().trim().max(250).min(1, {
message: "Last name is required",
}),
email: z.string().max(250).email({ message: "Email address is required" }),
})
export interface FindMyBookingFormSchema
extends z.output<typeof findMyBookingFormSchema> {}