mirror of https://github.com/Chocobozzz/PeerTube
25 lines
667 B
TypeScript
25 lines
667 B
TypeScript
import { FormGroup } from '@angular/forms';
|
|
|
|
export abstract class FormReactive {
|
|
abstract form: FormGroup;
|
|
abstract formErrors: Object;
|
|
abstract validationMessages: Object;
|
|
|
|
abstract buildForm(): void;
|
|
|
|
protected onValueChanged(data?: any) {
|
|
for (const field in this.formErrors) {
|
|
// clear previous error message (if any)
|
|
this.formErrors[field] = '';
|
|
const control = this.form.get(field);
|
|
|
|
if (control && control.dirty && !control.valid) {
|
|
const messages = this.validationMessages[field];
|
|
for (const key in control.errors) {
|
|
this.formErrors[field] += messages[key] + ' ';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|