Spec-Zone.ru › Valibot

forwardAsync

Перенаправляет проблемы переданного действия валидации.

const Action = v.forwardAsync<TInput, TIssue, TPath>(action, path);

Дженерики

  • TInput extends Record<string, unknown> | ArrayLike<unknown>
  • TIssue extends BaseIssue<unknown>
  • TPath extends RequiredPath

Параметры

  • action BaseValidation<TInput, TInput, TIssue> | BaseValidationAsync<TInput, TInput, TIssue>
  • path ValidPath<TInput, TPath>

Пояснение

forwardAsync позволяет перенаправлять проблемы переданного действия валидации action через path во вложенное поле схемы.

Возвращаемое значение

  • Action BaseValidationAsync<TInput, TInput, TIssue>

Примеры

Следующие примеры показывают, как можно использовать forwardAsync.

Схема разрешенного действия

Схема, проверяющая, разрешено ли пользователю выполнить действие.

import { isAllowedAction, isUsernamePresent } from '~/api';

const AllowedActionSchema = v.pipeAsync(
  v.objectAsync({
    username: v.pipeAsync(
      v.string(),
      v.minLength(3),
      v.checkAsync(isUsernamePresent, 'The username is not in the database.')
    ),
    action: v.picklist(['view', 'edit', 'delete']),
  }),
  v.forwardAsync(
    v.checkAsync(
      isAllowedAction,
      'The user is not allowed to complete the action.'
    ),
    ['action']
  )
);

Связанное

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

Схемы

any, array, custom, looseObject, looseTuple, object, objectWithRest, record, strictObject, strictTuple, tuple, tupleWithRest, union, unknown, variant

Методы

omit, pick

Действия

check, checkItems, empty, everyItem, excludes, filterItems, findItem, guard, includes, length, mapItems, maxLength, metadata, minLength, nonEmpty, notLength, partialCheck, rawCheck, reduceItems, someItem, sortItems

Утилиты

isOfKind, isOfType

Асинхронные элементы

arrayAsync, awaitAsync, checkAsync, customAsync, looseObjectAsync, looseTupleAsync, objectAsync, objectWithRestAsync, partialAsync, partialCheckAsync, rawCheckAsync, recordAsync, requiredAsync, strictObjectAsync, strictTupleAsync, tupleAsync, tupleWithRestAsync, unionAsync, variantAsync

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

Spec-Zone.ru

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