diff --git a/src/pages/Contact.tsx b/src/pages/Contact.tsx index 6747d4e..ef2db68 100644 --- a/src/pages/Contact.tsx +++ b/src/pages/Contact.tsx @@ -9,6 +9,7 @@ import { sanitizeInput, isValidEmail } from "../utils/security"; import styles from "./Contact.module.css"; const NAME_MAX_LENGTH = 100; +const EMAIL_MAX_LENGTH = 254; const SUBJECT_MAX_LENGTH = 200; const MESSAGE_MAX_LENGTH = 5000; @@ -53,6 +54,8 @@ export function Contact() { if (!formData.email.trim()) { newErrors.email = "Required"; + } else if (formData.email.length > EMAIL_MAX_LENGTH) { + newErrors.email = `Max ${EMAIL_MAX_LENGTH} characters`; } else if (!isValidEmail(formData.email)) { newErrors.email = "Invalid email"; } @@ -170,6 +173,7 @@ export function Contact() { value={formData.name} onChange={(e) => handleChange("name", e.target.value)} error={errors.name} + maxLength={NAME_MAX_LENGTH} /> handleChange("email", e.target.value)} error={errors.email} + maxLength={EMAIL_MAX_LENGTH} /> handleChange("subject", e.target.value)} error={errors.subject} + maxLength={SUBJECT_MAX_LENGTH} />