O pacote/plugin de validação de primeira parte para FormKit. Leia a documentação de validação para instruções de uso.
Dado um nó, isso retorna o nome que deve ser usado nas mensagens de validação. Isso é ou a prop validationLabel
, a prop label
, ou o nome da entrada (nessa ordem).
createMessageName(node: FormKitNode): string;
node
— O nó a ser exibidoA função do plugin de validação real. Tudo deve ser inicializado aqui.
createValidationPlugin(baseRules?: FormKitValidationRules): (node: FormKitNode) => void;
baseRules
opcional — Regras de validação base para incluir no plugin. Por padrão, FormKit disponibiliza todas as regras no pacote @formkit/rules via defaultConfig.Extrai todas as mensagens de validação do nó dado e todos os seus descendentes. Isso não é reativo e deve ser chamado novamente cada vez que as mensagens mudam.
getValidationMessages(node: FormKitNode): Map<FormKitNode, FormKitMessage[]>;
node
— O nó FormKit para extrair regras de validação — bem como seus descendentes.Propriedades de validação especiais que afetam a maneira como as validações são aplicadas.
interface FormKitValidationHints {
blocking: boolean;
debounce: number;
force: boolean;
name: string;
skipEmpty: boolean;
}
A interface para a função de mensagem de validação localizada.
interface FormKitValidationMessage {
(...args: FormKitValidationI18NArgs): string;
}
A interface para o registro de mensagens de validação localizadas.
interface FormKitValidationMessages {
[index: string]: string | FormKitValidationMessage;
}
As regras de validação do FormKit são estruturadas como um objeto de pares chave/função onde a chave do objeto é o nome da regra de validação.
interface FormKitValidationRules {
[index: string]: FormKitValidationRule;
}
Define como as regras de validação totalmente analisadas se parecem.
export type FormKitValidation = {
rule: FormKitValidationRule;
args: any[];
timer: number;
state: boolean | null;
queued: boolean;
deps: FormKitDependencies;
messageObserver?: FormKitObservedNode;
} & FormKitValidationHints;
Os argumentos que são passados para as mensagens de validação no plugin i18n.
export type FormKitValidationI18NArgs = [
{
node: FormKitNode;
name: string;
args: any[];
message?: string;
}
];
Define como as regras de validação se parecem quando são analisadas, mas não necessariamente tiveram regras de validação substituídas ainda.
export type FormKitValidationIntent = [string | FormKitValidationRule, ...any[]];
Assinatura para uma regra de validação genérica. Ela aceita uma entrada - muitas vezes uma string - mas deve ser capaz de aceitar qualquer tipo de entrada, e retorna um booleano indicando se passou ou não na validação.
export type FormKitValidationRule = {
(node: FormKitNode, ...args: any[]): boolean | Promise<boolean>;
ruleName?: string;
} & Partial<FormKitValidationHints>;