required
Создает измененную копию схемы объекта, которая помечает все или только выбранные записи как обязательные.
const AllKeysSchema = v.required<TSchema, TMessage>(schema, message);
const SelectedKeysSchema = v.required<TSchema, TKeys, TMessage>(
schema,
keys,
message
);
Дженерики
TSchemaextends SchemaWithoutPipe<LooseObjectSchema<ObjectEntries, ErrorMessage<LooseObjectIssue> | undefined> | ObjectSchema<ObjectEntries, ErrorMessage<ObjectIssue> | undefined> | ObjectWithRestSchema<ObjectEntries, BaseSchema<unknown, unknown, BaseIssue<unknown>>, ErrorMessage<ObjectWithRestIssue> | undefined> | StrictObjectSchema<ObjectEntries, ErrorMessage<StrictObjectIssue> | undefined>>TKeysextends ObjectKeys<TSchema>TMessageextends ErrorMessage<NonOptionalIssue> | undefined
Параметры
schemaTSchemakeysTKeymessageTMessage
Объяснение
required создает измененную копию переданного объекта schema, где все или только выбранные keys являются обязательными. Это аналогично служебному типу TypeScript Required.
Поскольку
requiredизменяет тип данных входных и выходных значений, запрещено передавать схему, измененную методомpipe, так как это может вызвать ошибки во время выполнения. Пожалуйста, используйте методpipeпосле изменения схемы с помощьюrequired.
Возвращаемое значение
AllKeysSchemaSchemaWithRequired<TSchema, undefined, TMessage>SelectedKeysSchemaSchemaWithRequired<TSchema, Tkeys, TMessage>
Примеры
Следующие примеры показывают, как можно использовать required.
Схема объекта с обязательными записями
Схема для валидации объекта с обязательными записями.
const RequiredSchema = v.required(
v.object({
key1: v.optional(v.string()),
key2: v.optional(v.number()),
})
); // { key1: string; key2: number }
Только с определенными ключами
Схема для валидации объекта, в котором только определенные записи помечены как обязательные.
const RequiredSchema = v.required(
v.object({
key1: v.optional(v.string()),
key2: v.optional(v.number()),
key3: v.optional(v.boolean()),
}),
['key1', 'key3']
); // { key1: string; key2?: number; key3: boolean }
Связанное
Следующие API можно комбинировать с required.
Схемы
array, exactOptional, intersect, lazy, looseObject, looseTuple, map, nonNullable, nonNullish, nonOptional, nullable, nullish, object, objectWithRest, optional, record, set, strictObject, strictTuple, tuple, tupleWithRest, undefinedable, union
Методы
assert, config, fallback, forward, getDefault, getDefaults, getFallback, getFallbacks, is, keyof, message, omit, parse, parser, partial, pick, safeParse, safeParser, unwrap
Действия
brand, check, description, entries, flavor, guard, maxEntries, metadata, minEntries, notEntries, partialCheck, rawCheck, rawTransform, readonly, title, transform
Утилиты
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/required/