【发布时间】:2018-01-02 00:50:57
【问题描述】:
我创建了一个带有文本框和下拉菜单的简单表单。两者都是必需的。
当我点击提交按钮时,文本框变成红色,而下拉菜单没有改变。
这里是 plunkr: https://embed.plnkr.co/oSe3JCMlB4jBNsjOgUoc/
当用户点击提交按钮时,我希望两个字段都变成红色。
我想念什么?
【问题讨论】:
-
你想让下拉菜单显示为红色还是两者都不显示?
我创建了一个带有文本框和下拉菜单的简单表单。两者都是必需的。
当我点击提交按钮时,文本框变成红色,而下拉菜单没有改变。
这里是 plunkr: https://embed.plnkr.co/oSe3JCMlB4jBNsjOgUoc/
当用户点击提交按钮时,我希望两个字段都变成红色。
我想念什么?
【问题讨论】:
我相信这是因为required 验证器会检查FormControl 是否为touched。
您可以按照this question 中的说明手动执行此操作
submit(form) {
this.form.get('test2').markAsTouched()
console.log(form)
}
最好使用(ngSubmit),而不是提交按钮上的点击事件。
【讨论】:
你有
'test1': new FormControl("", Validators.required)
在您的代码 (select-form-example.ts) 中,它告诉 angular 它是一个必填字段,因此红色框表示验证失败。试试
'test1': new FormControl("")
【讨论】: