Spec-Zone.ru › Valibot

maxLength

Создаёт действие проверки максимальной длины.

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

Обобщённые типы

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

Параметры

  • requirement TRequirement
  • message TMessage

Пояснение

С помощью maxLength можно проверить длину строки или массива. Для строк длина измеряется так же, как в JavaScript с помощью value.length, то есть в единицах кода UTF-16. Для массивов длина определяется количеством элементов. Если входные данные не соответствуют requirement, можно использовать message, чтобы настроить сообщение об ошибке.

Если нужно проверить максимальное количество символов, воспринимаемых пользователем, используйте maxGraphemes. Если нужно считать каждую кодовую точку Unicode одним символом (дополнительная кодовая точка занимает в JavaScript две единицы кода UTF-16), используйте maxCodePoints.

Возвращаемое значение

  • Action MaxLengthAction<TInput, TRequirement, TMessage>

Примеры

В следующих примерах показано, как можно использовать maxLength.

Максимальная длина строки

Схема для проверки строки максимальной длиной 32 единицы кода UTF-16.

const MaxStringSchema = v.pipe(
  v.string(),
  v.maxLength(32, 'The string must not exceed 32 UTF-16 code units.')
);

Максимальная длина массива

Схема для проверки массива, содержащего не более 5 элементов.

const MaxArraySchema = v.pipe(
  v.array(v.number()),
  v.maxLength(5, 'The array must not exceed 5 numbers.')
);

Связанные API

Следующие API можно использовать вместе с maxLength.

Схемы

any, array, custom, instance, string, tuple, unknown

Методы

pipe

Действия

maxCodePoints, maxGraphemes

Утилиты

isOfKind, isOfType

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

Spec-Zone.ru

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