【发布时间】:2017-12-26 13:05:34
【问题描述】:
我想在动态生成的字段上添加验证。这是我的代码。
projectForm: FormGroup;
constructor(private sanitizer:DomSanitizer,private router: Router,private fb: FormBuilder,private projectService: ProjectService,private fnService:FunctionsService, private userService : UserService) {
this.projectForm = fb.group({
'shirnkrap':[null, Validators.required],
'cd_text':[null, Validators.required],
'assignto':[null, Validators.required],
'projecttype':[null, Validators.required]
});
}
我想在一个函数上添加新的验证,该验证将在<select>change 事件上触发。
我试试这个,
this.projectForm.controls['project_name'].setValidators([Validators.required]);
但它给了我这个错误,
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'setValidators' of undefined
那么有人可以帮我如何添加验证吗?
【问题讨论】:
-
没有名为project_name的控件
-
控件将在更改事件时动态创建
-
你是如何添加这个控件的?可能有问题
-
你能分享你添加控件的代码吗?它应该是这样的: let control = new FormControl(); this.projectForm.addControl('project_name', control);
-
您的代码只是在注释中,当您尝试在其上添加验证器时,很难理解为什么您添加的 FormControl 未定义。请使用理解您的错误消息所需的相关代码更新您的答案。
标签: angular validation angular-reactive-forms