Spec-Zone.ru › Valibot

partialCheck

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

const Action = v.partialCheck<TInput, TPaths, TSelection, TMessage>(
  paths,
  requirement,
  message
);

Обобщения

  • TInput extends Record<string, unknown> | ArrayLike<unknown>
  • TPaths extends RequiredPaths
  • TSelection extends DeepPickN<TInput, TPaths>
  • TMessage extends ErrorMessage<PartialCheckIssue<TSelection>> | undefined

Параметры

  • paths ValidPaths<TInput, TPaths>
  • requirement (input: TSelection) => boolean
  • message TMessage

Пояснение

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

Отличие от check заключается в том, что partialCheck можно выполнять, как только выбранная часть данных станет допустимой, тогда как check выполняется только после ввода всего набора данных. Это может быть важным преимуществом при работе с формами.

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

  • Action PartialCheckAction<TInput, TPaths, TSelection, TMessage>

Примеры

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

Регистрация схемы

Схема, которая проверяет совпадение двух паролей.

const RegisterSchema = v.pipe(
  v.object({
    email: v.pipe(
      v.string(),
      v.nonEmpty('Please enter your email.'),
      v.email('The email address is badly formatted.')
    ),
    password1: v.pipe(
      v.string(),
      v.nonEmpty('Please enter your password.'),
      v.minLength(8, 'Your password must have 8 characters or more.')
    ),
    password2: v.string(),
  }),
  v.forward(
    v.partialCheck(
      [['password1'], ['password2']],
      (input) => input.password1 === input.password2,
      'The two passwords do not match.'
    ),
    ['password2']
  )
);

Связанные API

Следующие API можно использовать совместно с partialCheck.

Схемы

any, array, custom, instance, intersect, lazy, looseObject, looseTuple, nonNullable, nonNullish, nonOptional, object, objectWithRest, record, strictObject, strictTuple, tuple, tupleWithRest, union, variant

Методы

forward, pipe

Вспомогательные функции

isOfKind, isOfType

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

Spec-Zone.ru

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