Skip to content

boolean ​

A boolean value: true or false.

Signature ​

ts
function boolean(msg?: Message): Schema<boolean>

Parameters ​

ParameterTypeDescription
msgMessageCustom 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 ​

CodeWhenDefault message
requiredThe value is emptyRequired
booleanNot true/falseMust 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 ​