nullable
Создает nullable-схему.
const Schema = v.nullable<TWrapped, TDefault>(wrapped, default_);
Дженерики
TWrappedextends BaseSchema<unknown, unknown, BaseIssue<unknown>>TDefaultextends Default<TWrapped, null>
Параметры
wrappedTWrappeddefault_TDefault
Пояснение
С помощью nullable валидация вашей схемы будет пропускать входные данные null, и если вы укажете входное значение default_, схема будет использовать его, если входным значением является null. По этой причине выходной тип может отличаться от входного типа схемы.
Обратите внимание, что
nullableне принимаетundefinedв качестве входных данных. Если вы хотите принимать входные данныеundefined, используйтеoptional, а если вы хотите принимать входные данныеnullиundefined, используйте вместо этогоnullish. Кроме того, если вы хотите установить выходное значение по умолчанию для любых недопустимых входных данных, вам следует использовать вместо этогоfallback.
Возвращаемое значение
SchemaNullableSchema<TWrapped, TDefault>
Примеры
Следующие примеры показывают, как можно использовать nullable.
Nullable-схема строки
Схема, которая принимает string и null.
const NullableStringSchema = v.nullable(v.string(), "I'm the default!");
Nullable-схема даты
Схема, которая принимает Date и null.
При использовании функции в качестве параметра
default_схема будет возвращать новый экземплярDateкаждый раз, когда входным значением являетсяnull.
const NullableDateSchema = v.nullable(v.date(), () => new Date());
Схема с nullable-полем
Схема объекта с nullable-полем.
const NullableEntrySchema = v.object({
key: v.nullable(v.string()),
});
Развертывание nullable-схемы
Используйте unwrap, чтобы отменить действие nullable.
const NullableNumberSchema = v.nullable(v.number());
const NumberSchema = v.unwrap(NullableNumberSchema);
Связанные элементы
Следующие API можно объединять с nullable.
Схемы
any, array, bigint, blob, boolean, custom, date, enum, exactOptional, file, function, instance, intersect, lazy, literal, looseObject, looseTuple, map, nan, never, nonNullable, nonNullish, nonOptional, null, nullish, number, object, objectWithRest, optional, picklist, promise, record, set, strictObject, strictTuple, string, symbol, tuple, tupleWithRest, undefined, undefinedable, union, unknown, variant, void
Методы
assert, config, fallback, getDefault, getDefaults, getFallback, getFallbacks, is, message, parse, parser, pipe, safeParse, safeParser, unwrap
Действия
check, brand, description, flavor, guard, metadata, partialCheck, rawCheck, rawTransform, readonly, title, transform
Утилиты
entriesFromList, isOfKind, isOfType
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/nullable/