Spec-Zone.ru › Valibot

required

Создает измененную копию схемы объекта, которая помечает все или только выбранные записи как обязательные.

const AllKeysSchema = v.required<TSchema, TMessage>(schema, message);
const SelectedKeysSchema = v.required<TSchema, TKeys, TMessage>(
  schema,
  keys,
  message
);

Дженерики

  • TSchema extends 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>>
  • TKeys extends ObjectKeys<TSchema>
  • TMessage extends ErrorMessage<NonOptionalIssue> | undefined

Параметры

  • schema TSchema
  • keys TKey
  • message TMessage

Объяснение

required создает измененную копию переданного объекта schema, где все или только выбранные keys являются обязательными. Это аналогично служебному типу TypeScript Required.

Поскольку required изменяет тип данных входных и выходных значений, запрещено передавать схему, измененную методом pipe, так как это может вызвать ошибки во время выполнения. Пожалуйста, используйте метод pipe после изменения схемы с помощью required.

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

  • AllKeysSchema SchemaWithRequired<TSchema, undefined, TMessage>
  • SelectedKeysSchema SchemaWithRequired<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

Утилиты

isOfKind, isOfType

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

Spec-Zone.ru

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