nonOptionalAsync
Создаёт неопциональную схему.
Эту функцию схемы можно использовать для переопределения поведения
optionalAsync.
const Schema = v.nonOptionalAsync<TWrapped, TMessage>(wrapped, message);
Дженерики
TWrappedextends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>TMessageextends ErrorMessage<NonOptionalIssue> | undefined
Параметры
wrappedTWrappedmessageTMessage
Объяснение
С помощью nonOptionalAsync валидация вашей схемы не будет пропускать входные данные undefined. Если входное значение равно undefined, вы можете использовать message для настройки сообщения об ошибке.
Возвращаемое значение
SchemaNonOptionalSchemaAsync<TWrapped, TMessage>
Примеры
Следующие примеры показывают, как можно использовать nonOptionalAsync.
Схема добавления пользователя
Схема для валидации объекта, содержащего сведения, необходимые для добавления пользователя в существующую группу.
import { isGroupPresent } from '~/api';
const AddUserSchema = v.objectAsync({
groupId: v.nonOptionalAsync(
// Assume this schema is from a different file and reused here.
v.optionalAsync(
v.pipeAsync(
v.string(),
v.uuid(),
v.checkAsync(
isGroupPresent,
'The group is not present in the database.'
)
)
)
),
userEmail: v.pipe(v.string(), v.email()),
});
Связанное
Следующие API можно комбинировать с nonOptionalAsync.
Схемы
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
Методы
config, getDefault, getFallback, unwrap
Действия
brand, check, description, flavor, guard, metadata, partialCheck, rawCheck, rawTransform, readonly, title, transform
Утилиты
entriesFromList, isOfKind, isOfType
Асинхронные функции
arrayAsync, awaitAsync, checkAsync, customAsync, exactOptionalAsync, fallbackAsync, getDefaultsAsync, getFallbacksAsync, intersectAsync, lazyAsync, looseObjectAsync, looseTupleAsync, mapAsync, nonNullableAsync, nonNullishAsync, nullableAsync, nullishAsync, objectAsync, objectWithRestAsync, optionalAsync, parseAsync, parserAsync, partialCheckAsync, pipeAsync, rawCheckAsync, rawTransformAsync, recordAsync, safeParseAsync, safeParserAsync, setAsync, strictObjectAsync, strictTupleAsync, transformAsync, tupleAsync, tupleWithRestAsync, unionAsync, variantAsync
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/nonOptionalAsync/