Javascript 当有一个输入框带有角度验证时,需要单击两下才能将控制转换为单选按钮

Javascript 当有一个输入框带有角度验证时,需要单击两下才能将控制转换为单选按钮,javascript,html,angular,validation,Javascript,Html,Angular,Validation,我有一个输入框和一个收音机框。当我单击输入框,然后单击收音机框时,我想控件应该立即转移到收音机框。相反,第一次,它显示错误消息,第二次,它将控制权转移到收音机盒 您可以在这里找到问题的症结所在:是的,这是因为您将错误显示为块,这会移动单选按钮 想象一下,当鼠标按钮向下时,错误弹出,而当鼠标按钮向上时,单选框被选中 这可能只是一瞬间,但足以让您的用户上当受骗 我建议您要么以另一种方式显示错误/Findign表单的另一种布局,要么在提交时验证表单 要在提交时验证表单,请使用FormBuilder.g

我有一个输入框和一个收音机框。当我单击输入框,然后单击收音机框时,我想控件应该立即转移到收音机框。相反,第一次,它显示错误消息,第二次,它将控制权转移到收音机盒


您可以在这里找到问题的症结所在:

是的,这是因为您将错误显示为块,这会移动单选按钮

想象一下,当鼠标按钮向下时,错误弹出,而当鼠标按钮向上时,单选框被选中

这可能只是一瞬间,但足以让您的用户上当受骗

我建议您要么以另一种方式显示错误/Findign表单的另一种布局,要么在提交时验证表单

要在提交时验证表单,请使用
FormBuilder.group
调用的第二个参数:

this.myForm = fb.group({...}, { updateOn: 'submit' });

这里是一个工作表单的示例,因为错误是模糊的,而不是删除的(
hidden
vs
style.opacity
):

我的要求不允许提交表单。必须立即对其进行验证。我尝试了span而不是div,同样的问题也出现了,因为它们是块。您必须提供占位符或aboslute定位,以便已提供空间或元素不在页面流中。