@vulform/core
Version:
Core utilities and types for VulForm packages
67 lines • 1.75 kB
TypeScript
/**
* Form validation utilities
*/
import { FormField, FieldValidation, ValidationErrors, FormTemplate } from '../types';
export declare class FormValidator {
/**
* Validate entire form data against template
*/
static validateForm(data: Record<string, any>, template: FormTemplate): ValidationErrors;
/**
* Validate single field
*/
static validateField(field: FormField, value: any): string | null;
/**
* Validate value against validation rules
*/
static validateValue(fieldName: string, value: any, validation: FieldValidation, fieldType?: string): string | null;
/**
* Check if value is empty
*/
private static isEmpty;
/**
* Email validation
*/
private static isValidEmail;
/**
* URL validation
*/
private static isValidUrl;
/**
* Phone number validation (basic)
*/
private static isValidPhone;
/**
* Date validation
*/
private static isValidDate;
/**
* File validation
*/
private static validateFiles;
/**
* Format file size for display
*/
private static formatFileSize;
}
/**
* Real-time validation hook utility
*/
export declare class RealtimeValidator {
private validators;
private debounceTimers;
/**
* Register field validator
*/
registerField(fieldName: string, validator: (value: any) => Promise<string | null>): void;
/**
* Validate field with debouncing
*/
validateField(fieldName: string, value: any, onResult: (error: string | null) => void, debounceMs?: number): Promise<void>;
/**
* Clear all timers
*/
destroy(): void;
}
export default FormValidator;
//# sourceMappingURL=validation.d.ts.map