В angular2 Я хочу, чтобы триггеры Validator для некоторых элементов управления изменялись при изменении другого элемента управления. Есть ли способ, которым я могу просто передать форму для повторной проверки? Еще лучше, могу ли я запросить проверку определенных полей?Как вызвать валидаторы формы в angular2
Пример: Учитывая Checkbox X и вход P. Вход P имеет валидатор, который ведет себя по-разному в зависимости от модели значения X. Когда X проверяется/бесконтрольно Мне нужно вызвать валидатор на P. валидатор на P рассмотрит модель для определения состояния X и соответственно проверит P.
Вот код:
constructor(builder: FormBuilder) {
this.formData = { num: '', checkbox: false };
this.formGp = builder.group({
numberFld: [this.formData.num, myValidators.numericRange],
checkboxFld: [this.formData.checkbox],
});
}
this.formGp.controls['checkboxFld'].valueChanges.observer({
next: (value) => {
// I want to be able to do something like the following line:
this.formGp.controls['numberFld'].validator(this.formGp.controls['numberFld']);
}
});
Кто-нибудь есть решение? Благодаря!
Вы просто пытаетесь включить/отключить проверку на основе значения X? Какие валидаторы вы используете? Вы можете заставить валидаторы выполнять на основе условия в своей области, но я не уверен, что этот подход будет работать для вас. См. Http://stackoverflow.com/questions/21370006/angular-conditional-email-validation –
@ stephen.vakil - Я использую angular2. – Bonneville
@ Bonneville не могли бы вы объяснить, как вы передаете состояние флажка функции валидатора? –