我使用角度6.2.1
它应禁用“提交”按钮,但不执行任何操作……
这什么都不做[disabled] =“!heroForm.form.valid”,但此[disabled] =“ heroForm.form.valid”可行,但这不是我想要的
当输入为空时,应禁用该按钮,但不禁用
当表单有效时,当[disabled] =“ heroForm.valid”时,它禁用按钮,但这不是我想要的。我不知道输入为空时为什么有效,我在每个输入中都需要使用
<form #heroForm="ngForm" (ngSubmit)="hola()">
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputEmail4">First Name</label>
<input type="text" class="form-control" placeholder="First name"
required>
</div>
<div class="form-group col-md-6">
<label for="inputEmail4">Last Name</label>
<input type="text" class="form-control" placeholder="Last name"
required>
</div>
</div>
<button type="submit" class="btn btn-outline-primary"
[disabled]="!heroForm.form.valid">Sign in</button>
</form>
答案 0 :(得分:4)
您可以尝试[disabled] = “heroform.invalid”
这里是一个例子 https://stackblitz.com/edit/angular-symxeg?file=src%2Fapp%2Fapp.component.html
您在输入字段上缺少ngModel属性和name属性,这就是ngForm不知道要验证什么的原因
答案 1 :(得分:2)
怎么样
<button type="submit" class="btn btn-outline-primary"
[disabled]="!heroForm.valid">
Sign in
</button>