---
title: "Forms"
description: "The Forms module, the Form block and rendering a form from a client view."
requested_language: fr
language: en
translation_notice: "This page isn't translated yet"
url: https://docs.systhema.app/fr/payload/forms
version: unreleased (main)
docs_index: https://docs.systhema.app/fr/llms.txt
---
> This page isn't translated yet. Showing English.


The Forms module adds Payload's form builder to a Systhema project: a Forms collection, a Form Submissions collection and the Form block that places a form on a page.

![The Forms collection in Admin](./images/forms.light.webp)

## Turning it on

Enable it with the `forms` plugin option and `blocks.form` in `systhema.config.ts`. Both collections are grouped under a **Forms** sidebar group; see [Plugin options](https://docs.systhema.app/fr/payload/plugin-options.md#admin-sidebar).

The object form forwards Payload form-builder configuration as well as Systhema options:

```ts title="src/payload.config.ts"
withSysthema(payloadConfig, {
  forms: {
    enabled: true,
    fields: { country: true, state: true },
    autoSubmissionColumns: true,
  },
})
```

Here `payloadConfig` is your existing Payload configuration. In the design-system config, keep `blocks.form` enabled to offer the Form block. Disabling that block's picker does not itself remove the Forms collections.

## Form schema

Each form stores a title and an ordered `fields` blocks array. Field `name` is the submitted key; `label` is the visible text. Keep names stable when changing labels so stored answers and notification variables remain identifiable. Fields carry required, width and type-specific options.

Systhema enables text, email, date, number, textarea, select, radio, checkbox, file and message fields by default. Message is labeled Note in Admin. Country and state are opt-in. reCAPTCHA and Turnstile appear only when configured with provider keys.

The form also configures submit-button text and appearance and either a rich-text confirmation or redirect destination. Custom field definitions and collection overrides follow the form-builder plugin configuration passed through `forms`.

## Access and submissions

Form administration uses `forms.*` capabilities. The submission endpoint accepts both anonymous and signed-in visitors, so logging into Admin does not stop a visitor form from submitting. Reading submissions requires `form-submissions.read`; deleting requires `form-submissions.delete`. Submission updates are disabled.

FormBlockClient posts to `/api/form-submissions`, handles validation errors and confirmation state, and resolves configured redirect targets. Notification email settings require an email adapter; they do not require enabling the separate Emails templates module.

## Placing a form

Editors embed a form with the [Form block](https://docs.systhema.app/fr/payload/blocks/form.md).

## Rendering a form from a client view

`RenderForm` renders a form from a server or a client component; see [Imports in 'use client' files](https://docs.systhema.app/fr/payload/with-systhema.md#imports-in-use-client-files) for the option lists the `country` and `state` fields need.

## Notifications, captcha and submissions

Each form can send notification emails ([Emails](https://docs.systhema.app/fr/payload/forms/emails.md)), carry a captcha ([Captcha](https://docs.systhema.app/fr/payload/forms/captcha.md)), and its submissions get readable list columns ([Submission columns](https://docs.systhema.app/fr/payload/forms/submissions.md)) and exports ([Import and export](https://docs.systhema.app/fr/payload/forms/import-export.md)).

## Localized forms

With content locales on, choice options gain a translatable label beside the stored value; see [Content localization](https://docs.systhema.app/fr/payload/localization.md#form-options).

## Related

- [Form block](https://docs.systhema.app/fr/payload/blocks/form.md)
- [Form component](https://docs.systhema.app/fr/components/form.md)
- [Access control](https://docs.systhema.app/fr/payload/access-control.md)
