我创建了一个带有文本框和下拉列表的简单表单。两者都是必需的。
当我单击提交按钮文本框变为红色,而下拉列表没有改变。
这里是 plunkr: https://embed.plnkr.co/oSe3JCMlB4jBNsjOgUoc/
我希望当用户单击提交按钮时,两个字段都变为红色。
我想念什么?
我相信这是因为required
验证器检查FormControl
是否touched
。
您可以按照此问题中所述手动执行此操作
submit(form) {
this.form.get('test2').markAsTouched()
console.log(form)
}
最好使用(ngSubmit)
而不是提交按钮上的单击事件。
实时弹跳器示例
你有
'test1': new FormControl("", Validators.required)
在您的代码(select-form-example.ts(中,它告诉 Angular 它是一个必填字段,因此验证失败的红色框。尝试
'test1': new FormControl("")