form-service-dynamic
Version:
A dynamic form creation service for Angular applications.
40 lines (39 loc) • 1.18 kB
TypeScript
import { FormBuilder, FormGroup, ValidatorFn, AsyncValidatorFn } from '@angular/forms';
import * as i0 from "@angular/core";
/**
* @author Jean Paul <jeanpaulwebb@gmail.com>
* @class FormServiceDynamic
* @date 17/08/2023
*/
export declare class FormServiceDynamic {
private formBuilder;
constructor(formBuilder: FormBuilder);
createForm<T extends Record<string, any>>(model: T, options?: {
[field: string]: FieldConfig;
}): FormGroup;
private createControl;
private conditionallyRequiredValidator;
private isConditionallyRequired;
private normalizeValidations;
private normalizeAsyncValidations;
static ɵfac: i0.ɵɵFactoryDeclaration<FormServiceDynamic, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<FormServiceDynamic>;
}
export interface FieldConfig {
value?: any;
validations?: {
[key: string]: any;
};
asyncValidations?: {
[key: string]: any;
};
errorMessages?: {
[error: string]: string;
};
enabled?: boolean;
customValidation?: ValidatorFn;
asyncCustomValidation?: AsyncValidatorFn;
requiredIf?: {
condition: () => boolean;
};
}