partialCheck
Создаёт действие проверки с частичной валидацией.
const Action = v.partialCheck<TInput, TPaths, TSelection, TMessage>(
paths,
requirement,
message
);
Обобщения
TInputextends Record<string, unknown> | ArrayLike<unknown>TPathsextends RequiredPathsTSelectionextends DeepPickN<TInput, TPaths>TMessageextends ErrorMessage<PartialCheckIssue<TSelection>> | undefined
Параметры
pathsValidPaths<TInput, TPaths>requirement(input: TSelection) => booleanmessageTMessage
Пояснение
С помощью partialCheck можно свободно проверять выбранные входные данные и возвращать true, если они действительны, или false в противном случае. Если входные данные не соответствуют вашему requirement, можно использовать message, чтобы настроить сообщение об ошибке.
Отличие от
checkзаключается в том, чтоpartialCheckможно выполнять, как только выбранная часть данных станет допустимой, тогда какcheckвыполняется только после ввода всего набора данных. Это может быть важным преимуществом при работе с формами.
Возвращаемое значение
ActionPartialCheckAction<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
Методы
Вспомогательные функции
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/partialCheck/