Fields and validation
How Nisuform checks each submission against your form's fields, what every field type accepts, and what happens to answers that don't match.
When a form has fields in the form builder, every submission is checked against them. Templates come with fields. Forms created as Blank form or Endpoint only have none until you add them.
Nothing is ever lost
Validation never rejects a submission. A submission that fails a check is stored like any other, so you never lose a lead, and the inbox marks it with Some answers didn't pass validation and shows the problem next to each answer, like "not a valid email" or "missing".
Your own markup should still validate in the browser, with required, type="email" and similar attributes, so visitors can fix mistakes before they send. The styled embed does this for you.
Fields that your form sends but the builder doesn't list are kept as they are, so a hand-written form with extra inputs works fine.
What each type accepts
| Type | HTML name gets | Checked |
|---|---|---|
| Short text | Any text | Longer than the Character limit: cut to the limit and marked too long. |
| An email address | Must look like name@example.com. | |
| Long text | Any text | Longer than the Character limit: cut to the limit and marked too long. |
| Number | A number | Must be a number, and within Minimum and Maximum when set. Saved in plain form, so 007 becomes 7. |
| Date | A date | Must be a readable date, like 2026-09-24 from <input type="date">. |
| Dropdown | One option | Must match one of the options exactly, including capitals. |
| Multiple choice | One option | Must match one of the options exactly, including capitals. |
| Checkbox | yes when checked | Any value counts as checked. |
| Star rating | 1 up to the number of stars | Must be a whole number from 1 to the number of stars. |
| Phone | A phone number | Digits, spaces and + ( ) . - /, with at least 3 digits. |
| Website | A URL | Must be a full http:// or https:// URL. example.com alone is not accepted. |
| File upload | A file | Only checked for Required. See File uploads. |
An empty answer to an optional field passes. An empty answer to a Required field is marked missing.
Checkboxes
A Checkbox field is a single box, like "I agree to the terms". Give the input value="yes" so answers read clearly in your inbox and count as checked in analytics. The embed does this for you.
<label>
<input type="checkbox" name="terms" value="yes" required>
I agree to the terms
</label>The builder has no field type for picking several options. To let people pick more than one, use a group of checkboxes that share a name in your own markup, and don't add a builder field with that name. The choices are saved as one comma-separated answer. See Multiple values.
Field names
Answers are saved under the field's Field name, which is also the name attribute in your HTML.
- Must start with a letter and use only letters, digits,
-and_. - Up to 64 characters, and each name only once per form.
- Can't be
cf-turnstile-response,g-recaptcha-responseorh-captcha-response.
Renaming a field doesn't move old answers. Earlier submissions keep the old name, and new ones use the new name.
Labels
The inbox, notification emails and integrations show each field's Label instead of its name, like "Your rating" instead of rating. Fields the builder doesn't list are shown by their name.