@rxxuzi/gumi
Version:
Clean & minimal design system with delightful interactions
52 lines (51 loc) • 1.13 kB
TypeScript
import { FormValidationOptions, ValidatorRule, GumiElement } from '../types';
export declare class FormValidator {
private form;
private options;
private errors;
constructor(form: GumiElement, options?: FormValidationOptions);
/**
* Initialize form validator
*/
private init;
/**
* Get all form inputs
*/
private getInputs;
/**
* Validate entire form
*/
validate(): boolean;
/**
* Validate single field
*/
validateField(input: HTMLInputElement): boolean;
/**
* Set field error
*/
private setFieldError;
/**
* Clear field error
*/
private clearFieldError;
/**
* Clear all errors
*/
clearErrors(): void;
/**
* Get all errors
*/
getErrors(): Map<string, string>;
/**
* Set custom rules
*/
setRules(rules: Record<string, ValidatorRule>): void;
/**
* Add custom validator
*/
addValidator(name: string, rule: ValidatorRule): void;
/**
* Static helper to validate form
*/
static validateForm(selector: GumiElement): boolean;
}