Spec-Zone.ru › Valibot

looseObjectAsync

Создает схему нестрогого объекта.

const Schema = v.looseObjectAsync<TEntries, TMessage>(entries, message);

Дженерики

  • TEntries extends ObjectEntriesAsync
  • TMessage extends ErrorMessage<LooseObjectIssue> | undefined

Параметры

  • entries TEntries
  • message TMessage

Объяснение

С помощью looseObjectAsync вы можете валидировать тип данных входного значения и соответствие содержимого entries. Если входное значение не является объектом, вы можете использовать message для настройки сообщения об ошибке.

Отличие от objectAsync заключается в том, что эта схема включает любые неизвестные записи в вывод. Кроме того, по соображениям безопасности эта схема отфильтровывает определенные записи из числа неизвестных.

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

  • Schema LooseObjectSchemaAsync<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/

Spec-Zone.ru

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