looseObject
Creates a loose object schema.
const Schema = v.looseObject<TEntries, TMessage>(entries, message);
Generics
TEntriesextends ObjectEntriesTMessageextends ErrorMessage<LooseObjectIssue> | undefined
Parameters
entriesTEntriesmessageTMessage
Explanation
With looseObject you can validate the data type of the input and whether the content matches entries. If the input is not an object, you can use message to customize the error message.
The difference to
objectis that this schema includes any unknown entries in the output. In addition, this schema filters certain entries from the unknown entries for security reasons.
Returns
SchemaLooseObjectSchema<TEntries, TMessage>
Examples
The following examples show how looseObject can be used. Please see the object guide for more examples and explanations.
Simple object schema
Schema to validate a loose object with two specific keys.
const SimpleObjectSchema = v.looseObject({
key1: v.string(),
key2: v.number(),
});
Merge several objects
Schema that merges the entries of two object schemas.
const MergedObjectSchema = v.looseObject({
...ObjectSchema1.entries,
...ObjectSchema2.entries,
});
Mark keys as optional
Schema to validate an object with partial entries.
const PartialObjectSchema = v.partial(
v.looseObject({
key1: v.string(),
key2: v.number(),
})
);
Object with selected entries
Schema to validate only selected entries of a loose object.
const PickObjectSchema = v.pick(
v.looseObject({
key1: v.string(),
key2: v.number(),
key3: v.boolean(),
}),
['key1', 'key3']
);
Related
The following APIs can be combined with looseObject.
Schemas
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
Methods
assert, config, fallback, forward, getDefault, getDefaults, getFallback, getFallbacks, is, keyof, message, omit, parse, parser, partial, pick, pipe, required, safeParse, safeParser
Actions
check, brand, description, entries, flavor, guard, maxEntries, metadata, minEntries, notEntries, partialCheck, rawCheck, rawTransform, readonly, title, transform
Utils
entriesFromList, isOfKind, isOfType
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/looseObject/