"use client"; import { Button } from "@azmr/ui/button"; import { Field } from "@azmr/ui/field"; import { Input } from "@azmr/ui/input"; import { type FormEvent, useState } from "react"; function emailError(value: string): string | undefined { if (value.trim() === "") return "Enter your email address"; if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) return "Enter an email address like name@example.co.nz"; return undefined; } export default function FieldValidation() { const [email, setEmail] = useState(""); const [error, setError] = useState(); const [sent, setSent] = useState(false); function onSubmit(event: FormEvent) { event.preventDefault(); const next = emailError(email); setError(next); setSent(next === undefined); } return (
{ setEmail(value); setSent(false); if (error) setError(emailError(value)); }} />

{sent ? "Saved." : ""}

); }