我想有输入,在ngFor循环正则表达式的要求,但如预期,当我把一些不符合要求的模式我没有看到错误消息。角2 NgFor模式错误信息不显示
“测试”就不会被挡住,并<div *ngIf="id?.hasError('pattern')">
从不显示,甚至当我输入了错误的模式。我可以看到输入,因为我使用的材料设计与行强调输入变为红色的颜色,但我没有看到关于错误信息的任何更改将失败。
这是我的时刻代码:
(该键管我是一个自定义的管道,因为项目是由对象的对象,从而使所包含的对象分解成键/值对)
<div *ngFor="let item of items | keys">
<md-input-container>
<input
mdInput
placeholder={{item.placeholder}}
name={{item.name}}
pattern="\d{7}"
[(ngModel)]="item.currentValue"
#id="ngModel"
>
</md-input-container>
<div
[hidden]="id?.valid || id?.pristine"
>
<p>Test</p>
<div *ngIf="id?.hasError('pattern')">
Pattern should be xxxxxxx
</div>
</div>
</div>
我已经告诉过你你的模式是错误的。如果你需要匹配一个7位数的字串,只是用'“\ d {7}”'。或者,如果它可以为空' “(?:\ d {7})?”'。 '[\ d {7}] *'匹配0个或更多个字符,即数字,{','7'或'}'。 –
即使在将模式更改为“\ d {7}”之后,我仍然很欣赏这些提示,但当输入未通过验证时,我仍然遇到与未隐藏/显示的消息相同的问题。 – gv0000