04 / For instance, again

You asked for a contact form.

tsx
// what the agent shipped:
import { Formik, Form, Field, ErrorMessage } from 'formik';
import * as Yup from 'yup';

const schema = Yup.object({
  email: Yup.string().email().required(),
});

export function ContactForm() {
  return (
      <Formik validationSchema={schema} validateOnChange ...>
          <Form>
              <Field name="email" />
              <ErrorMessage name="email" />
          </Form>
      </Formik>
  );
}
Formik. Yup. validateOnChange. Your codebase already uses React Hook Form, Zod, and validates on blur.
Back to portfolio05 / 21