Introducing KickStart — AI generated FormKit forms in seconds. Generate from a screenshot, edit with drag-and-drop or conversational AI, copy & paste as components or schema!
Try for free
FormKit的第一方验证包/插件。阅读验证文档以获取使用说明。
给定一个节点,此函数返回应在验证消息中使用的名称。这是validationLabel
属性,label
属性,或输入的名称(按此顺序)。
createMessageName(node: FormKitNode): string;
node
— 要显示的节点实际的验证插件函数。一切都必须在这里引导。
createValidationPlugin(baseRules?: FormKitValidationRules): (node: FormKitNode) => void;
baseRules
可选 — 要包含在插件中的基本验证规则。默认情况下,FormKit通过defaultConfig使@formkit/rules包中的所有规则可用。从给定节点及其所有后代中提取所有验证消息。这不是反应性的,每次消息更改时都必须重新调用。
getValidationMessages(node: FormKitNode): Map<FormKitNode, FormKitMessage[]>;
node
— 要从中提取验证规则的FormKit节点 — 以及其后代。影响应用验证方式的特殊验证属性。
interface FormKitValidationHints {
blocking: boolean;
debounce: number;
force: boolean;
name: string;
skipEmpty: boolean;
}
本地化验证消息函数的接口。
interface FormKitValidationMessage {
(...args: FormKitValidationI18NArgs): string;
}
本地化验证消息注册表的接口。
interface FormKitValidationMessages {
[index: string]: string | FormKitValidationMessage;
}
FormKit验证规则被构造为一个键/函数对的对象,其中对象的键是验证规则名称。
interface FormKitValidationRules {
[index: string]: FormKitValidationRule;
}
定义完全解析的验证规则的样子。
export type FormKitValidation = {
rule: FormKitValidationRule;
args: any[];
timer: number;
state: boolean | null;
queued: boolean;
deps: FormKitDependencies;
messageObserver?: FormKitObservedNode;
} & FormKitValidationHints;
传递给i18n插件中验证消息的参数。
export type FormKitValidationI18NArgs = [
{
node: FormKitNode;
name: string;
args: any[];
message?: string;
}
];
定义验证规则在解析时的样子,但并不一定已经替换了验证规则。
export type FormKitValidationIntent = [string | FormKitValidationRule, ...any[]];
通用验证规则的签名。它接受一个输入 - 通常是一个字符串 - 但应该能够接受任何输入类型,并返回一个布尔值,表示它是否通过了验证。
export type FormKitValidationRule = {
(node: FormKitNode, ...args: any[]): boolean | Promise<boolean>;
ruleName?: string;
} & Partial<FormKitValidationHints>;