union
Создаёт схему объединения.
Рекомендуем прочитать руководство по объединениям перед использованием этой функции схемы.
const Schema = v.union<TOptions, TMessage>(options, message);
Обобщения
TOptionsextends UnionOptionsTMessageextends ErrorMessage<UnionIssue<InferIssue<TOptions[number]>>> | undefined
Параметры
optionsTOptionsmessageTMessage
Пояснение
С помощью union можно проверить, соответствует ли входное значение одной из заданных options. Если входное значение не соответствует схеме и его нельзя однозначно отнести к одному из вариантов, можно использовать message, чтобы настроить сообщение об ошибке.
Если некорректное входное значение можно однозначно отнести к одной из схем на основе типа данных, возвращается результат этой схемы. В противном случае возвращается общая проблема, содержащая проблемы каждой схемы в виде вложенных проблем. Это особый случай в библиотеке, поскольку проблемы union могут противоречить друг другу.
Возвращает
SchemaUnionSchema<TOptions, TMessage>
Примеры
В следующих примерах показано, как можно использовать union.
Схема URL
Схема для проверки URL или пустой строки.
const UrlSchema = v.union([v.pipe(v.string(), v.url()), v.literal('')]);
Схема числа
Схема для проверки числа или десятичной строки.
const NumberSchema = v.union([v.number(), v.pipe(v.string(), v.decimal())]);
Схема даты
Схема для проверки Date или временной метки ISO.
const DateSchema = v.union([v.date(), v.pipe(v.string(), v.isoTimestamp())]);
Связанные API
Следующие API можно использовать вместе с union.
Схемы
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
Методы
assert, config, fallback, getDefault, getDefaults, getFallback, getFallbacks, is, message, parse, parser, pipe, safeParse, safeParser
Действия
args, base64, bic, brand, bytes, check, checkItems, codePoints, creditCard, cuid2, decimal, description, digits, domain, email, emoji, empty, endsWith, entries, everyItem, excludes, filterItems, findItem, finite, flavor, graphemes, gtValue, guard, hash, hexadecimal, hexColor, imei, includes, integer, ip, ipv4, ipv6, isbn, isrc, isoDate, isoDateTime, isoDateTimeSecond, isoTime, isoTimeSecond, isoTimestamp, isoWeek, ksuid, length, ltValue, mac, mac48, mac64, mapItems, maxBytes, maxCodePoints, maxEntries, maxGraphemes, maxLength, maxSize, maxValue, maxWords, metadata, mimeType, minBytes, minCodePoints, minEntries, minGraphemes, minLength, minSize, minValue, minWords, multipleOf, nanoid, nonEmpty, notBytes, notCodePoints, notEntries, notGraphemes, notLength, notSize, notValue, notValues, notWords, octal, parseJson, partialCheck, rawCheck, rawTransform, readonly, reduceItems, regex, returns, rfcEmail, safeInteger, size, slug, someItem, sortItems, startsWith, stringifyJson, title, toCamelCase, toKebabCase, toLowerCase, toMaxValue, toMinValue, toPascalCase, toSnakeCase, toUpperCase, transform, trim, trimEnd, trimStart, ulid, url, uuid, value, values, words
Утилиты
entriesFromList, isOfKind, isOfType
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/union/