Spec-Zone.ru › Valibot

maxLength

Creates a max length validation action.

const Action = v.maxLength<TInput, TRequirement, TMessage>(
  requirement,
  message
);

Generics

  • TInput extends LengthInput
  • TRequirement extends number
  • TMessage extends ErrorMessage<MaxLengthIssue<TInput, TRequirement>> | undefined

Parameters

  • requirement TRequirement
  • message TMessage

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 maxGraphemes instead. 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), use maxCodePoints instead.

Returns

  • Action MaxLengthAction<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

pipe

Actions

maxCodePoints, maxGraphemes

Utils

isOfKind, isOfType

© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/maxLength/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API