looseObjectAsync
Создает схему нестрогого объекта.
const Schema = v.looseObjectAsync<TEntries, TMessage>(entries, message);
Дженерики
TEntriesextends ObjectEntriesAsyncTMessageextends ErrorMessage<LooseObjectIssue> | undefined
Параметры
entriesTEntriesmessageTMessage
Объяснение
С помощью looseObjectAsync вы можете валидировать тип данных входного значения и соответствие содержимого entries. Если входное значение не является объектом, вы можете использовать message для настройки сообщения об ошибке.
Отличие от
objectAsyncзаключается в том, что эта схема включает любые неизвестные записи в вывод. Кроме того, по соображениям безопасности эта схема отфильтровывает определенные записи из числа неизвестных.
Возвращаемое значение
SchemaLooseObjectSchemaAsync<TEntries, TMessage>
Примеры
Следующие примеры показывают, как можно использовать looseObjectAsync. Дополнительные примеры и объяснения приведены в руководстве по объектам.
Схема нового пользователя
Схема для валидации нестрогого объекта, содержащего определенные данные нового пользователя.
import { isEmailPresent } from '~/api';
const NewUserSchema = v.looseObjectAsync({
firstName: v.pipe(v.string(), v.minLength(2), v.maxLength(45)),
lastName: v.pipe(v.string(), v.minLength(2), v.maxLength(45)),
email: v.pipeAsync(
v.string(),
v.email(),
v.checkAsync(isEmailPresent, 'The email is already in use by another user.')
),
password: v.pipe(v.string(), v.minLength(8)),
avatar: v.optional(v.pipe(v.string(), v.url())),
});
Связанное
Следующие API можно комбинировать с looseObjectAsync.
Схемы
any, array, bigint, blob, boolean, custom, date, enum, exactOptional, file, function, instance, intersect, lazy, literal, looseObject, 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
Методы
config, getDefault, getFallback, keyof, omit, pick
Действия
brand, check, flavor, guard, partialCheck, rawCheck, rawTransform, readonly, title, transform
Утилиты
entriesFromList, isOfKind, isOfType
Асинхронные
arrayAsync, checkAsync, customAsync, exactOptionalAsync, fallbackAsync, forwardAsync, getDefaultsAsync, getFallbacksAsync, intersectAsync, lazyAsync, looseTupleAsync, mapAsync, nonNullableAsync, nonNullishAsync, nonOptionalAsync, nullableAsync, nullishAsync, objectAsync, objectWithRestAsync, optionalAsync, parseAsync, parserAsync, partialAsync, partialCheckAsync, pipeAsync, rawCheckAsync, rawTransformAsync, recordAsync, requiredAsync, safeParseAsync, safeParserAsync, setAsync, strictObjectAsync, strictTupleAsync, transformAsync, tupleAsync, tupleWithRestAsync, unionAsync, variantAsync
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/looseObjectAsync/