public markFormDirty(form) {
this.markGroupDirty(form);
}
private markControlDirty(formControl: FormControl, key?) {
formControl.markAsDirty();
formControl.updateValueAndValidity();
if (formControl.invalid) {
console.log(`invalid key: ${key}`);
}
}
private markGroupDirty(formGroup: FormGroup) {
Object.keys(formGroup.controls).forEach(key => {
switch (formGroup.get(key).constructor.name) {
case 'FormGroup':
this.markGroupDirty(formGroup.get(key) as FormGroup);
break;
case 'FormArray':
this.markArrayDirty(formGroup.get(key) as FormArray, key);
break;
case 'FormControl':
this.markControlDirty(formGroup.get(key) as FormControl, key);
break;
}
});
}
private markArrayDirty(formArray: FormArray, key) {
formArray.controls.forEach(control => {
switch (control.constructor.name) {
case 'FormGroup':
this.markGroupDirty(control as FormGroup);
break;
case 'FormArray':
this.markArrayDirty(control as FormArray, key);
break;
case 'FormControl':
this.markControlDirty(control as FormControl, key);
break;
}
});
}
Angular form mark as dirty
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- element-ui目前form组件是没有内置的检测状态方法的,无法直接获取form的dirty等状态。这里提供一...
- 在使用ngmodel进行双向数据绑定的时候,必须设置 name 属性或者使用[ngModelOptions]="{...
- 因为域名在每个页面都用到,这是声明的全局变量,在js调用完全没问题。 可是form表达提交时挂载到$scope下,...
- 在web应用里,我们都知道表单基本无处不在,如登录、注册、个人信息收集等。为了在应用里提高用户体验,在处理表单时,...
- ### nzFormLabel 字数不同导致不对齐 - ``nz-form-label`` 文字个数不同,即使通过...