Использование ngClass
для отключения кнопки для недопустимой формы не является хорошей практикой в Angular2, когда он предоставляет встроенные функции для включения и отключения кнопки, если форма действительна и недействительна соответственно, без каких-либо дополнительных усилий / логики.
[disabled]
будет делать все, например, если форма действительна, она будет включена, а если форма недействительна, она будет отключена автоматически.
См. Пример:
<form (ngSubmit)="f.form.valid" #f="ngForm" novalidate>
<input type="text" placeholder="Name" [(ngModel)]="txtName" name="txtname" #textname="ngModel" required>
<input type="button" class="mdl-button" [disabled]="!f.form.valid" (click)="onSave()" name="">