DEV Community

Alex Spinov
Alex Spinov

Posted on

Conform Has a Free API That Most Developers Dont Know About

Conform is a type-safe form validation library for React Server Actions with progressive enhancement.

Server Action

"use server";
import { parseWithZod } from "@conform-to/zod";
import { z } from "zod";

const schema = z.object({ email: z.string().email(), password: z.string().min(8) });

export async function signup(prev: unknown, formData: FormData) {
  const submission = parseWithZod(formData, { schema });
  if (submission.status !== "success") return submission.reply();
  await createUser(submission.value);
}
Enter fullscreen mode Exit fullscreen mode

Client

const [lastResult, action] = useActionState(signup, undefined);
const [form, fields] = useForm({ lastResult, onValidate: ({ formData }) => parseWithZod(formData, { schema }) });

<form id={form.id} onSubmit={form.onSubmit} action={action}>
  <input name={fields.email.name} />
  <p>{fields.email.errors}</p>
  <button>Submit</button>
</form>
Enter fullscreen mode Exit fullscreen mode

Key Features

  • Server Actions support
  • Progressive enhancement
  • Zod validation
  • Accessible errors

Need to scrape or monitor web data at scale? Check out my web scraping actors on Apify or email spinov001@gmail.com for custom solutions.

Top comments (0)