UNPKG

signal-template-forms

Version:

A powerful, type-safe Angular forms library built with signals, providing reactive form management with excellent developer experience and performance.

52 lines (51 loc) 1.99 kB
import { type SignalFormContainer, type SignalFormField, type ValidationTrigger } from '../models/signal-form.model'; import * as i0 from "@angular/core"; export declare class ValidationService { private readonly injector; private readonly validatedFields; private readonly blurRefresh; constructor(); /** * Trigger blur validation for a specific field * This creates a refresh signal that triggers validation */ triggerBlurValidation(fieldPath: string): void; private setupSyncValidationEffect; private setupBlurValidationEffect; /** * Register a field for validation */ setupFieldValidation<TModel, K extends keyof TModel>(field: SignalFormField<TModel, K>, form: SignalFormContainer<TModel>): void; /** * Get the effective validation configuration for a field */ private getValidationConfig; /** * Run synchronous validation */ private runSyncValidation; /** * Run asynchronous validation */ private runAsyncValidation; /** * Manually trigger validation for a field */ triggerValidation<TModel, K extends keyof TModel>(field: SignalFormField<TModel, K>, trigger?: ValidationTrigger): void; /** * Get the combined error for a field (sync + async) */ getCombinedError<TModel, K extends keyof TModel>(field: SignalFormField<TModel, K>): string | null; /** * Check if a field is currently validating or has any errors */ isFieldInvalid<TModel, K extends keyof TModel>(field: SignalFormField<TModel, K>): boolean; /** * Validate all fields for submit trigger and return if form is valid */ validateFormForSubmit<TModel>(fields: SignalFormField<TModel>[], form: SignalFormContainer<TModel>): boolean; private isFieldWithForm; private isRepeatableField; static ɵfac: i0.ɵɵFactoryDeclaration<ValidationService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ValidationService>; }