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
| Prop | Type | Default | Description |
|---|---|---|---|
| required | boolean | { value, message } | — | The field must have a value (non-empty / non-null / true for checkbox). |
| custom | fn | Record<string, fn> | — | One or more custom validators. See Custom & async. |
String values (text, textarea, email)
| Prop | Type | Default | Description |
|---|---|---|---|
| minLength | number | { value, message } | — | Minimum length. |
| maxLength | number | { value, message } | — | Maximum length. |
| pattern | RegExp | { value, message } | — | Must match the regular expression. |
| boolean | { value, message } | — | Must be a valid email address. |
Number values (number)
| Prop | Type | Default | Description |
|---|---|---|---|
| min | number | { value, message } | — | Minimum value. |
| max | number | { value, message } | — | Maximum value. |
Array values (multiselect, checkboxList)
| Prop | Type | Default | Description |
|---|---|---|---|
| minLength | number | { value, message } | — | Minimum number of selections. |
| maxLength | number | { value, message } | — | Maximum number of selections. |
Try it
The email below requires a valid address of at least 5 characters.
Preview
Live