Spec-Zone.ru › Valibot

length

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

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

Обобщения

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

Параметры

  • requirement TRequirement
  • message TMessage

Пояснение

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

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

Возвращает

  • Action LengthAction<TInput, TRequirement, TMessage>

Примеры

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

Схема строки

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

const StringSchema = v.pipe(
  v.string(),
  v.length(8, 'The string must be 8 UTF-16 code units long.')
);

Схема массива

Схема для проверки длины массива.

const ArraySchema = v.pipe(
  v.array(v.number()),
  v.length(100, 'The array must contain 100 numbers.')
);

Связанные API

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

Схемы

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

Методы

pipe

Действия

codePoints, graphemes

Утилиты

isOfKind, isOfType

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

Spec-Zone.ru

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