NisuformDocs

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

TypeHTML name getsChecked
Short textAny textLonger than the Character limit: cut to the limit and marked too long.
EmailAn email addressMust look like name@example.com.
Long textAny textLonger than the Character limit: cut to the limit and marked too long.
NumberA numberMust be a number, and within Minimum and Maximum when set. Saved in plain form, so 007 becomes 7.
DateA dateMust be a readable date, like 2026-09-24 from <input type="date">.
DropdownOne optionMust match one of the options exactly, including capitals.
Multiple choiceOne optionMust match one of the options exactly, including capitals.
Checkboxyes when checkedAny value counts as checked.
Star rating1 up to the number of starsMust be a whole number from 1 to the number of stars.
PhoneA phone numberDigits, spaces and + ( ) . - /, with at least 3 digits.
WebsiteA URLMust be a full http:// or https:// URL. example.com alone is not accepted.
File uploadA fileOnly 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-response or h-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.