【发布时间】:2017-05-16 13:26:34
【问题描述】:
我正在尝试以角度为模板驱动的表单提供验证摘要。当表单无效时,我想列出验证错误,以便用户知道要修复哪些输入。
到目前为止,我添加了这段代码来尝试显示验证错误
<pre>{{heroForm.form.errors | json}}</pre>
<ul>
<li *ngFor="let error of heroForm.form.errors">
{{error}}
</li>
</ul>
这可能来自模板驱动的表单吗?
heroForm.form.errors 保持为空,即使表单上存在验证错误。
我的实际表格比较复杂,但是可以以英雄之旅的角度教程为例:
<form (ngSubmit)="onSubmit()" #heroForm="ngForm">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name"
required
[(ngModel)]="model.name" name="name"
#name="ngModel">
<div [hidden]="name.valid || name.pristine"
class="alert alert-danger">
Name is required
</div>
</div>
<div class="form-group">
<label for="alterEgo">Alter Ego</label>
<input type="text" class="form-control" id="alterEgo"
[(ngModel)]="model.alterEgo" name="alterEgo">
</div>
<div class="form-group">
<label for="power">Hero Power</label>
<select class="form-control" id="power"
required
[(ngModel)]="model.power" name="power"
#power="ngModel">
<option *ngFor="let pow of powers" [value]="pow">{{pow}}</option>
</select>
<div [hidden]="power.valid || power.pristine" class="alert alert-danger">
Power is required
</div>
</div>
<pre>{{heroForm.form.errors | json}}</pre>
<ul>
<li *ngFor="let error of heroForm.form.errors">
{{error}}
</li>
</ul>
<button type="submit" class="btn btn-success" [disabled]="!heroForm.form.valid">Submit</button>
<button type="button" class="btn btn-default" (click)="newHero(); heroForm.reset()">New Hero</button>
</form>
【问题讨论】:
标签: angular validation