digitaform-preview-react
Version:
A comprehensive React form preview component library with form controls,responsive design
40 lines • 1.5 kB
TypeScript
import { TFormComponent } from '../types/form-builder-schema.model';
import { IFieldConfig } from '../types/field-config.model';
export interface ValidationRule {
type: 'required' | 'minLength' | 'maxLength' | 'min' | 'max' | 'pattern' | 'email' | 'custom' | 'options';
value?: any;
message?: string;
}
export interface ValidationResult {
isValid: boolean;
errors: string[];
warnings?: string[];
}
export declare class ValidationService {
private static instance;
private constructor();
static getInstance(): ValidationService;
validateFieldConfig(fieldConfig: IFieldConfig, value: any): ValidationResult;
validateComponent(component: TFormComponent): ValidationResult;
validateFormSubmission(components: TFormComponent[]): ValidationResult;
private validateText;
private validateNumber;
private validateSelect;
private validateCheckbox;
private validateDate;
private validateBoolean;
private validateTextInput;
private validateNumberInput;
private validateTextarea;
private validateSelectComponent;
private validateCheckboxComponent;
private validateDateComponent;
private isEmpty;
private isValidRegex;
validateFieldValue(component: TFormComponent, fieldKey: string, value: any): ValidationResult;
private getFieldLabel;
private getFieldType;
private getFieldValidation;
}
export declare const validationService: ValidationService;
//# sourceMappingURL=validationService.d.ts.map