Удалить проверку формы из реактивных форм Angular 5

У меня есть форма, в которой на основе условия мне нужно отключить требуемый валидатор из элемента управления формы. Мой текущий код выглядит следующим образом.

address: new FormControl('', Validators.required)

this.dealForm.get('address').clearValidators();
this.dealForm.get('address').setValidators();
this.dealForm.get('address').updateValueAndValidity();

Из этого фрагмента кода этот элемент управления формы все еще имеет требуемый валидатор. У кого-нибудь есть предложения по моей проблеме? Следуют предложения из другой темы, требуемый валидатор все еще присутствует и форма недействительна

Спасибо за вашу помощь, ребята, ваши ответы работали. У меня была проблема с доступом к данным формы.

2 ответа

После очистки больше не вызывать setValidators

использовать как это,

address: new FormControl('', Validators.required)

this.dealForm.get('address').clearValidators();
this.dealForm.get('address').updateValueAndValidity();

Попробуйте что-то вроде этого:

address: new FormControl('', [Validators.required])

this.dealForm.get('address').clearValidators();

this.dealForm.get('address').updateValueAndValidity();

Я также предлагаю вам использовать обязательную проверку только в шаблоне, например:

<input type="text" required>

В этом случае, когда будет загружен HTML, будет рассматриваться проверка.

Другие вопросы по тегам