objectAsync
Создаёт схему объекта.
const Schema = v.objectAsync<TEntries, TMessage>(entries, message);
Дженерики
TEntriesextends ObjectEntriesAsyncTMessageextends ErrorMessage<ObjectIssue> | undefined
Параметры
entriesTEntriesmessageTMessage
Объяснение
С помощью objectAsync вы можете проверить тип данных входного значения и соответствует ли содержимое entries. Если входное значение не является объектом, вы можете использовать message для настройки сообщения об ошибке.
Эта схема удаляет неизвестные записи. Выходные данные будут содержать только те записи, которые вы укажете. Чтобы включить неизвестные записи, используйте
looseObjectAsync. Чтобы возвращать ошибку при наличии неизвестных записей, используйтеstrictObjectAsync. Чтобы включить и валидировать неизвестные записи, используйтеobjectWithRestAsync.
Возвращаемое значение
SchemaObjectSchemaAsync<TEntries, TMessage>
Примеры
Следующие примеры показывают, как можно использовать objectAsync. Дополнительные примеры и пояснения см. в руководстве по объектам.
Схема нового пользователя
Схема для валидации объекта, содержащего данные нового пользователя.
import { isEmailPresent } from '~/api';
const NewUserSchema = v.objectAsync({
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 можно комбинировать с objectAsync.
Схемы
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, description, entries, flavor, guard, maxEntries, metadata, minEntries, notEntries, partialCheck, rawCheck, rawTransform, readonly, title, transform
Утилиты
entriesFromList, isOfKind, isOfType
Асинхронные
arrayAsync, checkAsync, customAsync, exactOptionalAsync, fallbackAsync, forwardAsync, getDefaultsAsync, getFallbacksAsync, intersectAsync, lazyAsync, looseObjectAsync, looseTupleAsync, mapAsync, nonNullableAsync, nonNullishAsync, nonOptionalAsync, nullableAsync, nullishAsync, 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/objectAsync/