我想有輸入,在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