---
title: "Form"
id: "guide:form"
---

import DemoReactHookForm from "@/demo/ReactHookForm";

## Overview

Camome does not include client-side form validation feature by JavaScript. Instead, it focuses on the ease of generating semantic and accessible HTML.

By using the `FormField` component, you can automatically link `<label />` and explanatory text (including errors) to `<input />` element (by [`aria-labelledby`](https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby) and [`aria-describedby`](https://www.w3.org/TR/wai-aria-1.1/#aria-describedby) attributes).

Since Camome aims to provide HTML-based APIs as much as possible without using JavaScript, it can easily be integrated with existing form libraries like [React Hook Form](https://react-hook-form.com/).

## Example with React Hook Form

<CodeSandbox {...DemoReactHookForm} />
