在Angular升级后,如果您在FormGroup中添加了FormControl,则如果FormControl的值为空,它将标记为有效。这可能会导致表单验证问题。解决此问题的一种方法是在添加FormControl后手动设置其状态为无效。如下所示:
在组件.ts文件中添加以下代码:
import { FormControl, FormGroup, Validators } from '@angular/forms';
export class MyComponent implements OnInit {
myForm: FormGroup;
ngOnInit() {
this.myForm = new FormGroup({
name: new FormControl('', Validators.required)
});
this.myForm.get('name').markAsTouched();
this.myForm.get('name').setErrors({'incorrect': true});
}
}
此代码示例将创建一个名为“name”的FormControl并将其添加到FormGroup中。然后,手动将其标记为无效,并设置一个错误消息“incorrect”,以确保在值为空时标记为无效。您还可以使用其他错误消息,具体取决于您的表单验证要求。
请记住,在此解决方案中,您需要手动处理每个添加到FormGroup中的FormControl,以确保它们符合您的表单验证要求。