Move user router to trpc package * Move more schemas in hotel router * Fix deps * fix getNonContentstackUrls * Fix import error * Fix entry error handling * Fix generateMetadata metrics * Fix alertType enum * Fix duplicated types * lint:fix * Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package * Fix broken imports * Move booking router to trpc package * Move partners router to trpc package * Move autocomplete router to trpc package * Move booking router to trpc package * Remove translations from My Pages navigation trpc procedure * Move navigation router to trpc package * Move user router to trpc package * Merge branch 'master' into feat/sw-2862-move-booking-router-to-trpc-package * Merge branch 'feat/sw-2862-move-booking-router-to-trpc-package' into feat/sw-2865-move-navigation-router-to-trpc-package * Merge branch 'master' into feat/sw-2865-move-navigation-router-to-trpc-package * Merge branch 'master' into feat/sw-2865-move-navigation-router-to-trpc-package * Merge branch 'master' into feat/sw-2865-move-navigation-router-to-trpc-package * Merge branch 'feat/sw-2865-move-navigation-router-to-trpc-package' into feat/sw-2867-move-user-router-to-trpc-package * Merge branch 'master' into feat/sw-2867-move-user-router-to-trpc-package Approved-by: Linus Flood
27 lines
687 B
TypeScript
27 lines
687 B
TypeScript
import { z } from "zod"
|
|
|
|
export const phoneErrors = {
|
|
PHONE_NUMBER_TOO_SHORT: "PHONE_NUMBER_TOO_SHORT",
|
|
PHONE_REQUESTED: "PHONE_REQUESTED",
|
|
} as const
|
|
|
|
export function phoneValidator(
|
|
msg = "Required field",
|
|
invalidMsg = "Invalid type"
|
|
) {
|
|
return z
|
|
.string({ invalid_type_error: invalidMsg, required_error: msg })
|
|
.min(5, phoneErrors.PHONE_NUMBER_TOO_SHORT)
|
|
.superRefine((value, ctx) => {
|
|
if (value) {
|
|
const containsAlphabeticChars = /[a-z]/gi.test(value)
|
|
if (containsAlphabeticChars) {
|
|
ctx.addIssue({
|
|
code: z.ZodIssueCode.custom,
|
|
message: phoneErrors.PHONE_REQUESTED,
|
|
})
|
|
}
|
|
}
|
|
})
|
|
}
|