角反应形式:如何在对话框中显示验证错误?

时间:2019-11-15 09:02:18

标签: angular angular-reactive-forms

我有一个Angular反应形式,我想在材质对话框中显示验证错误。

有一种方法可以订阅let languagePack= [{ 'key': 'Username', 'value': 'Benutzername', 'group': 'default' }, { 'key': 'Password', 'value': 'Passwort', 'group': 'default' }]; let map = new Map(); languagePack.forEach((val)=>{ map.set(val.key, val.value); }) languagePack = Object.fromEntries(map); console.log(languagePack);并在出错时执行某些操作?

EG。:

formControl.errors

1 个答案:

答案 0 :(得分:1)

要在表单中存在statusChange或valueChange时显示错误,可以在formGroup对象上使用以下2个可观察对象。

  • 值更改:可观察->每次控件的值更改时都会发出一个事件
  • 状态更改:可观察 --->每次重新计算控件的验证状态时都会发出一个事件。
form: FormGroup;
constructor(private formBuilder: FormBuilder) {}

this.form = this.formBuilder.group({
  username: ['', [ Validators.required ]],
  password: ['', [ Validators.required ]]
});

要监视单个表单控件,

this.form.get('username').valueChanges.subscribe(
  result => {
    // call your DialogAlertComponent to show errors if any
  }
); 

要监视整个表单,

this.form.valueChanges.subscribe(
  result => {
    // call your DialogAlertComponent to show errors if any
  }
);

这里也可以使用statusChanges Observable。