Le package/plugin de validation de première partie pour FormKit. Lisez la documentation de validation pour les instructions d'utilisation.
Étant donné un nœud, cela renvoie le nom qui doit être utilisé dans les messages de validation. Il s'agit soit de la propriété validationLabel
, soit de la propriété label
, soit du nom de l'entrée (dans cet ordre).
createMessageName(node: FormKitNode): string;
node
— Le nœud à afficherLa fonction de plugin de validation réelle. Tout doit être initialisé ici.
createValidationPlugin(baseRules?: FormKitValidationRules): (node: FormKitNode) => void;
baseRules
optionnel — Règles de validation de base à inclure dans le plugin. Par défaut, FormKit rend toutes les règles du package @formkit/rules disponibles via le defaultConfig.Extrait tous les messages de validation du nœud donné et tous ses descendants. Ce n'est pas réactif et doit être rappelé chaque fois que les messages changent.
getValidationMessages(node: FormKitNode): Map<FormKitNode, FormKitMessage[]>;
node
— Le nœud FormKit pour extraire les règles de validation — ainsi que ses descendants.Propriétés de validation spéciales qui affectent la manière dont les validations sont appliquées.
interface FormKitValidationHints {
blocking: boolean;
debounce: number;
force: boolean;
name: string;
skipEmpty: boolean;
}
L'interface pour la fonction de message de validation localisée.
interface FormKitValidationMessage {
(...args: FormKitValidationI18NArgs): string;
}
L'interface pour le registre de messages de validation localisés.
interface FormKitValidationMessages {
[index: string]: string | FormKitValidationMessage;
}
Les règles de validation FormKit sont structurées comme un objet de paires clé/fonction où la clé de l'objet est le nom de la règle de validation.
interface FormKitValidationRules {
[index: string]: FormKitValidationRule;
}
Définit à quoi ressemblent les règles de validation entièrement analysées.
export type FormKitValidation = {
rule: FormKitValidationRule;
args: any[];
timer: number;
state: boolean | null;
queued: boolean;
deps: FormKitDependencies;
messageObserver?: FormKitObservedNode;
} & FormKitValidationHints;
Les arguments qui sont passés aux messages de validation dans le plugin i18n.
export type FormKitValidationI18NArgs = [
{
node: FormKitNode;
name: string;
args: any[];
message?: string;
}
];
Définit à quoi ressemblent les règles de validation lorsqu'elles sont analysées, mais n'ont pas nécessairement eu de règles de validation substituées encore.
export type FormKitValidationIntent = [string | FormKitValidationRule, ...any[]];
Signature pour une règle de validation générique. Elle accepte une entrée - souvent une chaîne - mais devrait être capable d'accepter n'importe quel type d'entrée, et renvoie un booléen indiquant si elle a passé la validation ou non.
export type FormKitValidationRule = {
(node: FormKitNode, ...args: any[]): boolean | Promise<boolean>;
ruleName?: string;
} & Partial<FormKitValidationHints>;