fallback
Возвращает резервное значение в качестве результата, если входные данные не соответствуют схеме.
const Schema = v.fallback<TSchema, TFallback>(schema, fallback);
Обобщения
TSchemaextends BaseSchema<unknown, unknown, BaseIssue<unknown>>TFallbackextends Fallback<TSchema>
Параметры
schemaTSchemafallbackTFallback
Пояснение
fallback позволяет задать резервное значение для результата, которое будет использоваться, если проверка входных данных завершится неудачей. Это означает, что при использовании fallback ошибки не будут возвращены, а схема всегда вернёт результат.
Если вы хотите задать значение по умолчанию только для
nullилиundefinedвходных данных, используйте вместо этогоoptional,nullableилиnullish.Резервное значение не проверяется. Убедитесь, что оно соответствует вашей схеме.
Возвращает
SchemaSchemaWithFallback<TSchema, TFallback>
Примеры
В следующих примерах показано, как можно использовать fallback.
Резервная схема для строк
Схема, которая всегда возвращает строковый результат.
const FallbackStringSchema = v.fallback(v.string(), "I'm the fallback!");
Резервная схема для дат
Схема, которая всегда возвращает результат типа Date.
Если в качестве параметра
fallbackпередать функцию, схема будет возвращать новый экземплярDateкаждый раз, когда входные данные не соответствуют схеме.
const FallbackDateSchema = v.fallback(v.date(), () => new Date());
Связанные API
Следующие API можно использовать вместе с fallback.
Схемы
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, getDefault, getDefaults, getFallback, getFallbacks, is, keyof, message, omit, parse, parser, partial, pick, pipe, required, safeParse, safeParser, unwrap
Действия
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
Утилиты
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/fallback/