@formily/validator
Version:
> Formily 数据校验工具
87 lines (82 loc) • 4.67 kB
TypeScript
declare type ValidatorFormats = 'url' | 'email' | 'ipv6' | 'ipv4' | 'number' | 'integer' | 'idcard' | 'qq' | 'phone' | 'money' | 'zh' | 'date' | 'zip' | (string & {});
interface IValidateResult {
type: 'error' | 'warning' | 'success' | (string & {});
message: string;
}
interface IValidateResults {
error?: string[];
warning?: string[];
success?: string[];
}
declare const isValidateResult: (obj: any) => obj is IValidateResult;
declare type ValidatorFunctionResponse = null | string | boolean | IValidateResult;
declare type ValidatorFunction<Context = any> = (value: any, rule: IValidatorRules<Context>, ctx: Context, render: (message: string, scope?: any) => string) => ValidatorFunctionResponse | Promise<ValidatorFunctionResponse> | null;
declare type ValidatorParsedFunction<Context = any> = (value: any, ctx: Context) => IValidateResult | Promise<IValidateResult> | null;
declare type ValidatorTriggerType = 'onInput' | 'onFocus' | 'onBlur' | (string & {});
interface IValidatorRules<Context = any> {
triggerType?: ValidatorTriggerType;
format?: ValidatorFormats;
validator?: ValidatorFunction<Context>;
required?: boolean;
pattern?: RegExp | string;
max?: number;
maximum?: number;
maxItems?: number;
minItems?: number;
maxLength?: number;
minLength?: number;
exclusiveMaximum?: number;
exclusiveMinimum?: number;
minimum?: number;
min?: number;
len?: number;
whitespace?: boolean;
enum?: any[];
const?: any;
multipleOf?: number;
uniqueItems?: boolean;
maxProperties?: number;
minProperties?: number;
message?: string;
[key: string]: any;
}
interface IRegistryLocaleMessages {
[key: string]: string | IRegistryLocaleMessages;
}
interface IRegistryLocales {
[language: string]: IRegistryLocaleMessages;
}
interface IRegistryRules<Context = any> {
[key: string]: ValidatorFunction<Context>;
}
interface IRegistryFormats {
[key: string]: string | RegExp;
}
declare type ValidatorDescription<Context = any> = ValidatorFormats | ValidatorFunction<Context> | IValidatorRules<Context>;
declare type MultiValidator<Context = any> = ValidatorDescription<Context>[];
declare type Validator<Context = any> = ValidatorDescription<Context> | MultiValidator<Context>;
interface IValidatorOptions<Context = any> {
validateFirst?: boolean;
triggerType?: ValidatorTriggerType;
context?: Context;
}
declare const validate: <Context = any>(value: any, validator: Validator<Context>, options?: IValidatorOptions<Context>) => Promise<IValidateResults>;
declare const parseValidatorDescription: (description: ValidatorDescription) => IValidatorRules;
declare const parseValidatorDescriptions: <Context = any>(validator: Validator<Context>) => IValidatorRules[];
declare const parseValidatorRules: (rules?: IValidatorRules) => ValidatorParsedFunction[];
declare const parseValidator: <Context = any>(validator: Validator<Context>, options?: IValidatorOptions) => ValidatorParsedFunction<Context>[];
declare const getValidateLocaleIOSCode: (language: string) => any;
declare const setValidateLanguage: (lang: string) => void;
declare const getValidateLanguage: () => any;
declare const getLocaleByPath: (path: string, lang?: string) => any;
declare const getValidateLocale: (path: string) => any;
declare const getValidateMessageTemplateEngine: () => any;
declare const getValidateFormats: (key?: string) => any;
declare const getValidateRules: <T>(key?: T) => T extends string ? ValidatorFunction<any> : {
[key: string]: ValidatorFunction<any>;
};
declare const registerValidateLocale: (locale: IRegistryLocales) => void;
declare const registerValidateRules: (rules: IRegistryRules) => void;
declare const registerValidateFormats: (formats: IRegistryFormats) => void;
declare const registerValidateMessageTemplateEngine: (template: (message: ValidatorFunctionResponse, context: any) => any) => void;
export { IRegistryFormats, IRegistryLocaleMessages, IRegistryLocales, IRegistryRules, IValidateResult, IValidateResults, IValidatorOptions, IValidatorRules, MultiValidator, Validator, ValidatorDescription, ValidatorFormats, ValidatorFunction, ValidatorFunctionResponse, ValidatorParsedFunction, ValidatorTriggerType, getLocaleByPath, getValidateFormats, getValidateLanguage, getValidateLocale, getValidateLocaleIOSCode, getValidateMessageTemplateEngine, getValidateRules, isValidateResult, parseValidator, parseValidatorDescription, parseValidatorDescriptions, parseValidatorRules, registerValidateFormats, registerValidateLocale, registerValidateMessageTemplateEngine, registerValidateRules, setValidateLanguage, validate };