fallbackAsync
Возвращает резервное значение в качестве результата, если входные данные не соответствуют схеме.
const Schema = v.fallbackAsync<TSchema, TFallback>(schema, fallback);
Обобщения
TSchemaextends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>TFallbackextends FallbackAsync<TSchema>
Параметры
schemaTSchemafallbackTFallback
Пояснение
fallbackAsync позволяет задать резервное значение для результата, которое будет использоваться, если проверка входных данных завершится неудачей. Это означает, что при использовании fallbackAsync ошибки возвращаться не будут, а схема всегда будет возвращать результат.
Если вы хотите задать значение по умолчанию только для входных данных
nullилиundefined, используйте вместо этогоoptionalAsync,nullableAsyncилиnullishAsync.Резервное значение не проверяется. Убедитесь, что оно соответствует вашей схеме.
Возвращаемое значение
SchemaSchemaWithFallbackAsync<TSchema, TFallback>
Примеры
В следующих примерах показано, как можно использовать fallbackAsync.
Схема уникального имени пользователя
Схема, которая всегда возвращает уникальное имя пользователя.
Если передать функцию в качестве параметра
fallbackAsync, схема будет возвращать уникальное имя пользователя каждый раз, когда входные данные не соответствуют схеме.
import { getAnyUniqueUsername, isUsernameUnique } from '~/api';
const UniqueUsernameSchema = v.fallbackAsync(
v.pipeAsync(v.string(), v.minLength(4), v.checkAsync(isUsernameUnique)),
getAnyUniqueUsername
);
Связанные API
Следующие API можно комбинировать с fallbackAsync.
Схемы
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, message, omit, pick, 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
Утилиты
Асинхронные операции
arrayAsync, awaitAsync, checkAsync, customAsync, exactOptionalAsync, getDefaultsAsync, getFallbacksAsync, intersectAsync, lazyAsync, looseObjectAsync, 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/fallbackAsync/