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