Files
WRNexusJS/examples/captcha-showcase/app/schemas/contact.ts
T
2026-07-25 13:38:18 +05:30

28 lines
838 B
TypeScript

import { v } from "@wrnexus/validation";
export default v.object({
name: v
.string()
.required("Enter your name")
.trim()
.min(2, "Name must contain at least 2 characters")
.max(80, "Name must contain at most 80 characters"),
email: v
.string()
.required("Enter your email address")
.trim()
.email("Enter a valid email address")
.max(160, "Email address is too long"),
topic: v
.string()
.required("Choose a topic")
.oneOf(["general", "security", "billing", "integration"], "Choose a valid topic"),
message: v
.string()
.required("Enter your message")
.trim()
.min(10, "Message must contain at least 10 characters")
.max(1000, "Message must contain at most 1000 characters"),
consent: v.boolean().required("Confirm that we may process this request"),
});