boolean
A boolean value: true or false.
Signature
ts
function boolean(msg?: Message): Schema<boolean>Parameters
| Parameter | Type | Description |
|---|---|---|
msg | Message | Custom message. Replaces the default messages for all errors of this schema |
Accepts
Only true and false. false is a valid value, not an empty one.
undefined, null and '' are treated as empty — see Empty values.
Error codes
| Code | When | Default message |
|---|---|---|
required | The value is empty | Required |
boolean | Not true/false | Must be a boolean |
You can change the texts: see Messages & i18n.
Checkboxes and query strings
A form checkbox is sent as "on", a query parameter as "true"/"1". Use coerce.boolean.
To require exactly true (e.g. "I accept the terms"), use literal(true).
Example
Newsletter subscription
ts
const Settings = object({
newsletter: optional(boolean(), false),
});
validate(Settings, {}).data; // { newsletter: false }
validate(Settings, { newsletter: true }).data; // { newsletter: true }See also
- coerce.boolean
- literal — required consent