src/app/shared/dynamic-form/ui/dynamic-form-inputs/form-input-text/form-input-text.component.ts
DynamicFormInputComponent
OnInit
changeDetection | ChangeDetectionStrategy.OnPush |
selector | form-input-text |
styleUrls | ./form-input-text.component.scss |
templateUrl | ./form-input-text.component.html |
Properties |
Methods |
constructor(sanitizer: DomSanitizer)
|
||||||
Parameters :
|
ngOnInit |
ngOnInit()
|
Returns :
void
|
formGroup |
Type : FormGroup
|
formInput |
Type : DynamicFormInput<string>
|
import { Component, OnInit, ChangeDetectionStrategy } from "@angular/core"
import { FormGroup } from '@angular/forms'
import { DynamicFormInput } from '../../../models/dynamic-form-input.model'
import { DynamicFormInputComponent } from '../../../models/dynamic-form-input-component.interface'
import { DomSanitizer } from '@angular/platform-browser';
@Component({
selector: 'form-input-text',
templateUrl: './form-input-text.component.html',
styleUrls: ['./form-input-text.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class FormInputTextComponent implements DynamicFormInputComponent, OnInit {
formInput: DynamicFormInput<string>
formGroup: FormGroup
constructor(private sanitizer: DomSanitizer) {}
ngOnInit(): void {
this.formInput.errors.forEach(formError => {
formError.errorMessageHTML = this.sanitizer.bypassSecurityTrustHtml(formError.errorMessageHTML as string)
})
}
}
<div class="dynamic-field-container"
[formGroup]="formGroup">
<mat-form-field class="dynamic-form-field">
<input matInput [placeholder]="formInput.placeholder" [formControlName]="formInput.name">
<mat-hint align="start" *ngIf="formInput.hint"><strong>{{formInput.hint}}</strong></mat-hint>
<mat-error
*ngFor="let formError of formInput.errors">
<ng-container *ngIf="formGroup.get(formInput.name).hasError(formError.validationRule)">
<span [innerHTML]="formError.errorMessageHTML"></span>
</ng-container>
</mat-error>
</mat-form-field>
</div>
./form-input-text.component.scss