Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Angular 2自定义表单验证仅在用户清除文本框值后工作_Html_Angular_Angular2 Forms - Fatal编程技术网

Html Angular 2自定义表单验证仅在用户清除文本框值后工作

Html Angular 2自定义表单验证仅在用户清除文本框值后工作,html,angular,angular2-forms,Html,Angular,Angular2 Forms,我试图在输入框变得模糊后立即验证输入框。但有些人认为,只有当我在文本框中写入某些内容并删除它时,验证消息才会出现 这是我的HTML模板 名字是必需的。 我不知道为什么要绑定到模糊事件?required属性应使Angular在用户离开必填字段时自动验证该字段 那代码在做什么?由于对事件执行firstNameBlur()。。。返回false是默认设置。(请参阅此链接:)这就是我们的意图吗 尝试删除模糊事件,看看没有它是否可以工作。如果是这样,则不需要firstNameBlur方法。要使其按预期工

我试图在输入框变得模糊后立即验证输入框。但有些人认为,只有当我在文本框中写入某些内容并删除它时,验证消息才会出现

这是我的HTML模板


名字是必需的。

我不知道为什么要绑定到模糊事件?required属性应使Angular在用户离开必填字段时自动验证该字段

那代码在做什么?由于对事件执行
firstNameBlur()
。。。返回false是默认设置。(请参阅此链接:)这就是我们的意图吗


尝试删除模糊事件,看看没有它是否可以工作。如果是这样,则不需要firstNameBlur方法。

要使其按预期工作,应使用未接触的
而不是原始的
,如下所示:

<small [hidden]="firstName.valid || (firstName.untouched && !f2.submitted)"
       class="text-danger">
  First Name is required.
</small>

名字是必需的。
或者使用*ngIf(嗯,这真的更好):


名字是必需的。


请注意,您不需要
(模糊)

当用户离开字段时,它不会自动验证该字段。但它只在用户在其中键入某个内容并将其清除时进行验证。当用户未键入任何内容就将该字段留空时,它不会验证该字段。我想验证当用户离开空字段时,字段是否被操纵!是的,默认验证通常就是这样工作的。您是否删除了模糊事件,但它仍然不起作用?你能制作一个plunker来演示你的问题吗?是的,我试图移除模糊事件。但它仍然不起作用!你能制作一个能证明你的问题的plunker吗?您可以从以下内容开始:
<small *ngIf="firstName.invalid && (firstName.touched || f2.submitted)"
       class="text-danger">
  First Name is required.
</small>