Cen*_*ael 5 javascript validation angular
Angular 2中的验证非常简单,非常棒.但是,如果选择了其他字段,如何使必填字段可选.
这是我的规则
this.contractsFilter = this.fb.group({
selectedContractType: ['', [Validators.required]],
selectedYear: ['', [Validators.required]],
selectedPde: ['', [Validators.required]],
refNo: ['', []]
});
Run Code Online (Sandbox Code Playgroud)
如果refNo由用户提供,我希望其他标记为必需的字段为"不需要".
以下是如何动态添加或删除某些控件的验证器
private addValidator(control, validator) {
let existingValidators = control.validator;
control.setValidators(Validators.compose([existingValidators, validator]));
control.updateValueAndValidity();
}
Run Code Online (Sandbox Code Playgroud)
并删除验证器
private removeRequiredValidator(control, otherValidators) {
control.clearValidators();
if (otherValidators) {
control.setValidators(otherValidators);
}
control.updateValueAndValidity();
}
Run Code Online (Sandbox Code Playgroud)