maxLength
Creates a max length validation action.
const Action = v.maxLength<TInput, TRequirement, TMessage>(
requirement,
message
);
Generics
TInputextends LengthInputTRequirementextends numberTMessageextends ErrorMessage<MaxLengthIssue<TInput, TRequirement>> | undefined
Parameters
requirementTRequirementmessageTMessage
Explanation
With maxLength you can validate the length of a string or array. For strings, length is measured like JavaScript's value.length, i.e. by UTF-16 code units. For arrays, length is measured by the number of items. If the input does not match the requirement, you can use message to customize the error message.
If you need to validate the maximum number of user-perceived characters, use
maxGraphemesinstead. If you need to count each Unicode code point as a single character (a supplementary code point occupies two UTF-16 code units in JavaScript), usemaxCodePointsinstead.
Returns
ActionMaxLengthAction<TInput, TRequirement, TMessage>
Examples
The following examples show how maxLength can be used.
Maximum string length
Schema to validate a string with a maximum length of 32 UTF-16 code units.
const MaxStringSchema = v.pipe(
v.string(),
v.maxLength(32, 'The string must not exceed 32 UTF-16 code units.')
);
Maximum array length
Schema to validate an array with a maximum length of 5 items.
const MaxArraySchema = v.pipe(
v.array(v.number()),
v.maxLength(5, 'The array must not exceed 5 numbers.')
);
Related
The following APIs can be combined with maxLength.
Schemas
any, array, custom, instance, string, tuple, unknown
Methods
Actions
Utils
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/maxLength/