Удалить проверку формы из реактивных форм 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, будет рассматриваться проверка.