1
我想在ngFor循環中有正則表達式要求的輸入,但我得到「無法讀取屬性'有效'的未定義」錯誤我正在使用它作爲加載頁面時彈出的錯誤消息。Angular 2 NgFor正則表達式消息錯誤 - [(ngModel)]工作,但ngModel未定義
這是我的時刻代碼:
(該鍵管我是一個自定義的管道,因爲項目是由對象的對象,從而使所包含的對象分解成鍵/值對)
<div *ngFor="let item of items | keys">
<md-input-container>
<input
mdInput
placeholder={{item.placeholder}}
name={{item.name}}
pattern="[\d{7}]*"
[(ngModel)]="item.value.currentValue"
#id="ngModel"
>
</md-input-container>
<div
[hidden]="id.valid || id.pristine"
>
<div [hidden]="!id.hasError('pattern')">
*Describe required pattern here*
</div>
</div>
</div>
從我讀過的一些教程(如this one)我會想到這會工作,但我顯然缺少的東西。任何幫助將不勝感激,謝謝!
編輯 因爲有人問這裏是關鍵管道。這是一個基本的管道,等等這些都可以在interwebs發現:
transform(value): any {
const keys = [];
for (const key in value) {
keys.push({key: key, value: value[key]});
}
return keys;
}
你想驗證一個7位數?使用'pattern =「[0-9] {7}」' –
我實際上想驗證數字和/或字母,但是謝謝你! – gv0000
我認爲看到「keys」管道實現也會有所幫助 – seveves