easy-forms
Validation

Built-in validators

The rule set, narrowed by the field's value type.

The shape of validators depends on the control's value type. Putting a string rule on a number field (or vice versa) is a compile error — that's the point.

Available everywhere

PropTypeDefaultDescription
requiredboolean | { value, message }The field must have a value (non-empty / non-null / true for checkbox).
customfn | Record<string, fn>One or more custom validators. See Custom & async.

String values (text, textarea, email)

PropTypeDefaultDescription
minLengthnumber | { value, message }Minimum length.
maxLengthnumber | { value, message }Maximum length.
patternRegExp | { value, message }Must match the regular expression.
emailboolean | { value, message }Must be a valid email address.

Number values (number)

PropTypeDefaultDescription
minnumber | { value, message }Minimum value.
maxnumber | { value, message }Maximum value.

Array values (multiselect, checkboxList)

PropTypeDefaultDescription
minLengthnumber | { value, message }Minimum number of selections.
maxLengthnumber | { value, message }Maximum number of selections.

Try it

The email below requires a valid address of at least 5 characters.

Preview
Live