strictTupleAsync
Создает схему строгого кортежа.
const Schema = v.strictTupleAsync<TItems, TMessage>(items, message);
Обобщения
TItemsextends TupleItemsAsyncTMessageextends ErrorMessage<StrictTupleIssue> | undefined
Параметры
itemsTItemsmessageTMessage
Пояснение
С помощью strictTupleAsync можно проверить тип данных входного значения и соответствие содержимого items. Если входное значение не является массивом или содержит неизвестные элементы, можно использовать message для настройки сообщения об ошибке.
Отличие от
tupleAsyncсостоит в том, что эта схема возвращает ошибку для неизвестных элементов. Она намеренно возвращает только одну ошибку. В противном случае злоумышленники могли бы отправлять большие массивы, чтобы исчерпать ресурсы устройства. Если нужна ошибка для каждого неизвестного элемента, используйте схемуtupleWithRestAsyncсneverдля аргументаrest.
Возвращает
SchemaStrictTupleSchemaAsync<TItems, TMessage>
Примеры
В следующих примерах показано, как можно использовать strictTupleAsync. Дополнительные примеры и пояснения см. в руководстве по массивам.
Кортеж из числа и адреса электронной почты
Схема для проверки строгого кортежа, состоящего из одного числа и одного сохраненного адреса электронной почты.
import { isEmailPresent } from '~/api';
const TupleSchema = v.strictTupleAsync([
v.number(),
v.pipeAsync(
v.string(),
v.email(),
v.checkAsync(isEmailPresent, 'The email is not in the database.')
),
]);
Связанные API
Следующие API можно использовать вместе с strictTupleAsync.
Схемы
any, array, bigint, blob, boolean, custom, date, enum, exactOptional, file, function, instance, intersect, lazy, literal, looseObject, looseTuple, map, nan, never, nonNullable, nonNullish, nonOptional, null, nullable, nullish, number, object, objectWithRest, optional, picklist, promise, record, set, strictObject, string, symbol, tuple, tupleWithRest, undefined, undefinedable, union, unknown, variant, void
Методы
config, getDefault, getFallback
Действия
check, checkItems, brand, description, empty, everyItem, excludes, filterItems, findItem, flavor, guard, includes, length, mapItems, maxLength, metadata, minLength, nonEmpty, notLength, partialCheck, rawCheck, rawTransform, readonly, reduceItems, someItem, sortItems, title, transform
Утилиты
entriesFromList, isOfKind, isOfType
Асинхронные API
arrayAsync, checkAsync, customAsync, exactOptionalAsync, fallbackAsync, getDefaultsAsync, getFallbacksAsync, intersectAsync, lazyAsync, looseObjectAsync, looseTupleAsync, mapAsync, nonNullableAsync, nonNullishAsync, nonOptionalAsync, nullableAsync, nullishAsync, objectAsync, objectWithRestAsync, optionalAsync, parseAsync, parserAsync, partialCheckAsync, pipeAsync, rawCheckAsync, rawTransformAsync, recordAsync, safeParseAsync, safeParserAsync, setAsync, strictObjectAsync, transformAsync, tupleAsync, tupleWithRestAsync, unionAsync, variantAsync
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/strictTupleAsync/