我在Angular 4中收到以下错误:
错误类型错误:无法读取未定义
的属性“无效”
以下是代码:
<form name="form" #f="ngForm" novalidate>
<tr>
<td width="10%" class="text-blue"></td>
<td><input type="text" name="bankname" maxlength="25" appRestrictinput ="words" [(ngModel)]="model.bk_name" #bk_name="ngModel" class="form-control" autofocus /> </td>
</tr>
<div *ngIf="bankname.invalid && (bankname.dirty || bankname.touched)" class="alert alert-danger">
<div *ngIf="bankname.errors.required">Name is required</div>
</div>
</form>
请让我知道我哪里出错了。提前谢谢。
答案 0 :(得分:13)
视图中的控件参考是bk_name
。将bankname
替换为bk_name
。
<div *ngIf="bk_name.invalid && (bk_name.dirty || bk_name.touched)" class="alert alert-danger">
<div *ngIf="bk_name.errors.required">Name is required.</div>
答案 1 :(得分:1)
在ts文件中添加:
get bk_name() { return this.form.get('bk_name');}
答案 2 :(得分:0)
您只是忘记了模板变量
将此添加到您的输入#bankname =“ ngModel” 中,它将与您一起使用
<input ngModel name="bankname" type="text" #bankname="ngModel" class="form-control" placeholder="Name" required> <br/>
<div class="alert alert-danger" *ngIf="bankname.invalid">bankname is required</div>