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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- element-ui目前form组件是没有内置的检测状态方法的,无法直接获取form的dirty等状态。这里提供一...
- 在使用ngmodel进行双向数据绑定的时候,必须设置 name 属性或者使用[ngModelOptions]="{...
- 因为域名在每个页面都用到,这是声明的全局变量,在js调用完全没问题。 可是form表达提交时挂载到$scope下,...
- 在web应用里,我们都知道表单基本无处不在,如登录、注册、个人信息收集等。为了在应用里提高用户体验,在处理表单时,...
- ### nzFormLabel 字数不同导致不对齐 - ``nz-form-label`` 文字个数不同,即使通过...