Spec-Zone.ru › Valibot

checkAsync

Создаёт действие проверки.

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

Обобщения

  • TInput extends any
  • TMessage extends ErrorMessage<CheckIssue<TInput>> | undefined

Параметры

  • requirement (input: TInput) => MaybePromise<boolean>
  • message TMessage

Пояснение

С помощью checkAsync можно свободно проверять входные данные и возвращать true, если они действительны, или false в противном случае. Если входные данные не соответствуют вашему requirement, можно использовать message, чтобы настроить сообщение об ошибке.

Возвращает

  • Action CheckActionAsync<TInput, TMessage>

Примеры

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

Схема элемента корзины

Схема для проверки объекта элемента корзины.

import { getProductItem } from '~/api';

const CartItemSchema = v.pipeAsync(
  v.object({
    itemId: v.pipe(v.string(), v.regex(/^[a-z0-9]{10}$/i)),
    quantity: v.pipe(v.number(), v.minValue(1)),
  }),
  v.checkAsync(async (input) => {
    const productItem = await getProductItem(input.itemId);
    return productItem?.quantity >= input.quantity;
  }, 'The required quantity is greater than available.')
);

Связанные материалы

Следующие API можно комбинировать с checkAsync.

Схемы

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, strictTuple, string, symbol, tuple, tupleWithRest, undefined, undefinedable, union, unknown, variant, void

Утилиты

isOfKind, isOfType

Асинхронные

arrayAsync, awaitAsync, customAsync, exactOptionalAsync, intersectAsync, lazyAsync, looseObjectAsync, looseTupleAsync, mapAsync, nonNullableAsync, nonNullishAsync, nonOptionalAsync, nullableAsync, nullishAsync, objectAsync, objectWithRestAsync, optionalAsync, pipeAsync, recordAsync, setAsync, strictObjectAsync, strictTupleAsync, tupleAsync, tupleWithRestAsync, unionAsync, variantAsync

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

Spec-Zone.ru

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