projects/commons/src/lib/core/form/abstracts/form.ts
Properties |
|
Methods |
|
constructor(schema: Data, formBuilder: FormBuilder)
|
|||||||||
|
Parameters :
|
| Public errorMessage |
Type : string
|
| Public form |
Type : FormGroup
|
| Public isLoading |
Type : boolean
|
| Public isSubmitted |
Type : boolean
|
| Protected addFormValidator | ||||||||||||||||
addFormValidator(name: string, validators: Validators, value: string)
|
||||||||||||||||
|
Parameters :
Returns :
void
|
| Protected getRawValue |
getRawValue()
|
|
Returns :
any
|
| Public ngOnInit |
ngOnInit()
|
|
Returns :
void
|
import { Data } from '@angular/router';
import { OnInit } from '@angular/core';
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
export abstract class Form implements OnInit {
public form: FormGroup;
public isLoading: boolean;
public isSubmitted: boolean;
public errorMessage: string;
constructor(
private readonly schema: Data,
private readonly formBuilder: FormBuilder,
) {}
public ngOnInit(): void {
this.form = this.formBuilder.group(this.schema);
}
protected getRawValue() {
this.isLoading = true;
this.errorMessage = '';
if (this.form.valid) {
return this.form.getRawValue();
} else {
this.isSubmitted = true;
}
}
protected addFormValidator(name: string, validators: Validators, value: string = '') {
this.form.addControl(name, new FormControl(value, validators));
}
}