@mindmakr/gs-websdk
Version:
Web SDK for Guru SaaS System - Complete JavaScript/TypeScript SDK for building applications with dynamic schema management
65 lines (64 loc) • 1.95 kB
TypeScript
/**
* Validation Helper Utilities
* Provides comprehensive validation functions for forms and data
*/
import { SchemaTemplate, ValidationRule } from '../types';
/**
* Validation result interface
*/
export interface ValidationResult {
isValid: boolean;
errors: ValidationError[];
warnings: ValidationWarning[];
}
export interface ValidationError {
field: string;
message: string;
code: string;
severity: 'error' | 'warning';
value?: any;
}
export interface ValidationWarning {
field: string;
message: string;
code: string;
value?: any;
}
/**
* Comprehensive form validation
*/
export declare function validateForm(formData: Record<string, any>, template: SchemaTemplate, options?: {
validateRequired?: boolean;
validateTypes?: boolean;
validateFormats?: boolean;
validateConstraints?: boolean;
validateCustomRules?: boolean;
}): ValidationResult;
/**
* Validate field dependencies and cross-field validation
*/
export declare function validateFieldDependencies(formData: Record<string, any>, template: SchemaTemplate): ValidationError[];
/**
* Sanitize form data (remove potentially harmful content)
*/
export declare function sanitizeFormData(formData: Record<string, any>, options?: {
stripHtml?: boolean;
stripScripts?: boolean;
maxStringLength?: number;
}): Record<string, any>;
/**
* Validate a single field
*/
export declare function validateField(field: string, value: any, fieldSchema: any, formData?: Record<string, any>): ValidationResult;
/**
* Validate a schema structure
*/
export declare function validateSchema(schema: any): ValidationResult;
/**
* Create validation rules for a field
*/
export declare function createValidationRules(fieldType: string, constraints?: Record<string, any>): ValidationRule[];
/**
* Format validation errors for display
*/
export declare function formatValidationErrors(errors: ValidationError[]): string[];