【发布时间】:2017-02-02 15:21:26
【问题描述】:
我目前正在尝试向 Angular 2 表单添加验证,但由于某种原因,当未填写必填字段时,我无法禁用我的提交按钮。 这是我的表单模板的代码:
<h1 md-dialog-title>{{title}}</h1>
<form #formCtrl="ngForm">
<md-dialog-content>
<md-input-container>
<input #name md-input placeholder="Name" value="" name="name" focused required>
</md-input-container>
<br />
<md-select #inputtype placeholder="Input type" name="inputtype">
<md-option *ngFor="let inputtype of inputtypes" [value]="inputtype.id">
{{inputtype.name}}
</md-option>
</md-select>
</md-dialog-content>
<md-dialog-actions>
<button type="submit" md-raised-button color="primary" [disabled]="!formCtrl.form.valid">Create</button>
</md-dialog-actions>
</form>
根据几个示例,这应该可以工作,但是该按钮永远不会被禁用。我也试过“!formCtrl.valid”,也无济于事。 我尝试使用非材料设计输入字段,认为这可能是问题所在,但它仍然不起作用。
然后我尝试将以下简单示例复制/粘贴到我的应用程序中,但即使这样也根本行不通: http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/
关于什么可能会阻止它正常工作的任何想法?
【问题讨论】:
-
我可能是错的,但是您是否尝试过不使用 value 属性?类似于:
<input #name md-input placeholder="Name" name="name" focused required>
标签: validation angular