Как программно добавить ошибку в элемент управления FormGroup? - PullRequest
1 голос
/ 19 июня 2019

В моей динамической FormGroup я хотел бы программно добавить ошибку к элементу управления формы, но единственный способ добавить ошибку - это

this.userForm.controls.username.setErrors({
  'exists': 'Username already exists'
});

Что полностью заменяет любые существующие ошибки. Есть ли способ добавить одну ошибку в динамический элемент управления FormGroup?

Ответы [ 2 ]

3 голосов
/ 19 июня 2019
control.setErrors({ ...(control.errors || {}), 'newError': 'text of the error' })

Вам просто нужно получить предыдущие ошибки и распространить их в новый объект ошибки.

control.errors || {}

Защита от нераспространяющихся значений (например, неопределенных или нулевых)

0 голосов
/ 19 июня 2019

Использовать оператор спреда

const errors = this.userForm.controls.username.errors || {};
this.userForm.controls.username.setErrors({
  'exists': 'Username already exists', ...errors
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...