1.动态取消验证
if (val <= 2) {
this.formModel.get('startTime').setValidators(null);//取消此控件全部验证
this.formModel.get('endTime').setValidators(null);
this.formModel.get('endTime').removeValidators(Validators.required);//删除个别 此条有问题
this.formModel.updateValueAndValidity() //更新验证
} else {
this.formModel.get('endTime').addValidators(Validators.required);//添加个别
this.formModel.get('startTime').setValidators(Validators.required);//验证给他还原
this.formModel.get('endTime').setValidators(Validators.required);
this.formModel.updateValueAndValidity() //更新验证
}
2.动态禁用,启用
this.formModel.controls.endTime.disable()
this.formModel.controls.startTime.enable()
3.
/**
* 强制验证表单
*/
static forceValidForm(formModel:FormGroup) {
for (let keyname in formModel.controls) {
formModel.get(keyname).markAsTouched();
}
}
static markAsPristine(formModel:FormGroup) {
for (let keyname in formModel.controls) {
formModel.get(keyname).markAsUntouched();
formModel.get(keyname).markAsPristine();
formModel.get(keyname).updateValueAndValidity();
}
}
4. this.myformModel.get('testresult').reset() 重置单个控件