41 lines
937 B
TypeScript
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> {}
|