> For the complete documentation index, see [llms.txt](https://docs.klai.studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.klai.studio/engineering-reference-docs/software-testing-overview/ux-ui-checklist/flows/submitting-a-form.md).

# Submitting a form 📨

A form can help a user achieve anything from creating an account to subscribing to a newsletter. They are often the last step of a user's journey, so should be quick and easy to complete.

**Steps:**

* [ ] Show button to submit

  Below the form fields, a button to submit the information needs to be present.

  You can change the copy to fit the form e.g. the button can say “Subscribe” if someone is providing their email address to receive emails.
* [ ] Show loading state after submission

  The user must see the form is in the process of being submitted.

  Note: also make sure your hover state is considered before they press the button!
* [ ] Show success message when it submits

  The form was submitted! Let’s communicate that back to the user with a clear success message.
* [ ] If it doesn't, show an error message

  Sometimes, things don’t work out. If the form can’t submit, because of invalid information or another error, that also needs to be shown.
* [ ] An error may occur because of the wrong information

  If the criteria for a text field isn’t met, the form can fail to submit due to that error, and must be detailed.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.klai.studio/engineering-reference-docs/software-testing-overview/ux-ui-checklist/flows/submitting-a-form.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
