looseObject
Создает схему нестрогого объекта.
const Schema = v.looseObject<TEntries, TMessage>(entries, message);
Дженерики
TEntriesextends ObjectEntriesTMessageextends ErrorMessage<LooseObjectIssue> | undefined
Параметры
entriesTEntriesmessageTMessage
Объяснение
С помощью looseObject вы можете проверить тип данных входного значения и соответствует ли его содержимое entries. Если входное значение не является объектом, вы можете использовать message для настройки сообщения об ошибке.
Отличие от
objectзаключается в том, что эта схема включает любые неизвестные записи в результат. Кроме того, по соображениям безопасности эта схема отфильтровывает определенные записи из числа неизвестных.
Возвращаемое значение
SchemaLooseObjectSchema<TEntries, TMessage>
Примеры
Следующие примеры показывают, как можно использовать looseObject. Дополнительные примеры и пояснения см. в руководстве по объектам.
Простая схема объекта
Схема для валидации нестрогого объекта с двумя определенными ключами.
const SimpleObjectSchema = v.looseObject({
key1: v.string(),
key2: v.number(),
});
Объединение нескольких объектов
Схема, которая объединяет записи двух схем объектов.
const MergedObjectSchema = v.looseObject({
...ObjectSchema1.entries,
...ObjectSchema2.entries,
});
Пометка ключей как необязательных
Схема для валидации объекта с частичными записями.
const PartialObjectSchema = v.partial(
v.looseObject({
key1: v.string(),
key2: v.number(),
})
);
Объект с выбранными записями
Схема для валидации только выбранных записей нестрогого объекта.
const PickObjectSchema = v.pick(
v.looseObject({
key1: v.string(),
key2: v.number(),
key3: v.boolean(),
}),
['key1', 'key3']
);
Связанные темы
Следующие API могут быть скомбинированы с looseObject.
Схемы
any, array, bigint, blob, boolean, custom, date, enum, exactOptional, file, function, instance, intersect, lazy, literal, 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
Методы
assert, config, fallback, forward, getDefault, getDefaults, getFallback, getFallbacks, is, keyof, message, omit, parse, parser, partial, pick, pipe, required, safeParse, safeParser
Действия
check, brand, description, entries, flavor, guard, maxEntries, metadata, minEntries, notEntries, partialCheck, rawCheck, rawTransform, readonly, title, transform
Утилиты
entriesFromList, isOfKind, isOfType
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/looseObject/