length
Создает действие для проверки длины.
const Action = v.length<TInput, TRequirement, TMessage>(requirement, message);
Обобщения
TInputextends LengthInputTRequirementextends numberTMessageextends ErrorMessage<LengthIssue<TInput, TRequirement>> | undefined
Параметры
requirementTRequirementmessageTMessage
Пояснение
С помощью length можно проверять длину строки или массива. Для строк длина измеряется так же, как в JavaScript с помощью value.length, то есть в кодовых единицах UTF-16. Для массивов длина определяется количеством элементов. Если входные данные не соответствуют requirement, можно использовать message, чтобы настроить сообщение об ошибке.
Если нужно проверить количество символов, воспринимаемых пользователем как отдельные, используйте
graphemes. Если нужно считать каждую кодовую точку Unicode одним символом (дополнительная кодовая точка занимает в JavaScript две кодовые единицы UTF-16), используйтеcodePoints.
Возвращает
ActionLengthAction<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
Методы
Действия
Утилиты
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/length/