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