如果输入无效,则禁用按钮



我有一个很长的表单,但我想禁用一个特定的按钮(在模板上,我不想在组件上这样做(,只有当特定的字段为空或有一些验证错误时,这是我的表单示例:

<form #myForm="ngForm">
<div class="form-group">
<label>Email</label>
<input [(ngModel)]="email" #email="ngModel" name="my_email" type="text" class="form-control" required>
<span *ngIf="email.errors?.required">
This field is required
</span>
</div>
<button [disabled]="myForm.email.errors?.required">Some action</button> 
</form>

我不需要有一个完整的有效表格来禁用该按钮,我只想根据特定输入的值进行检查。

我该怎么做?我错过了什么?

1-将模板变量#email重命名为#emailInput或与模型属性名称"email"不同的任何名称。。

<input [(ngModel)]="email" #emailInput="ngModel" name="my_email" type="text" class="form-control" required>

2-在按钮的禁用属性和显示错误的范围中使用模板变量#emailInunt。

<button [disabled]="emailInput.errors?.required">Some action</button>
<span *ngIf="emailInput.errors?.required">
This field is required
</span>

完整代码:

<form #myForm="ngForm">
<div class="form-group">
<label>Email</label>
<input [(ngModel)]="email" #emailInput="ngModel" name="my_email" type="text" class="form-control" required>
<span *ngIf="emailInput.errors?.required">
This field is required
</span>
<button [disabled]="emailInput.errors?.required">Some action</button> 
</div>
</form>

在Stacklitz 上试用

相关内容

  • 没有找到相关文章

最新更新