这是我的第一个问题,所以请告诉我,如果我做错了所以我可以解决它:)
我的问题是让[diabled]标签在我的表单中的按钮上正常工作。
这是我的模板:
<form #loginForm="ngForm">
<label class="omwave">Identifiant</label>
<input type="text" class="omwave" [(ngModel)]="login" placeholder="Identifiant" name="login" required>
<label class="omwave">Mot de passe</label>
<div class="input-group omwave">
<input type="password" class="input-group-field omwave" [(ngModel)]="password" placeholder="Mot de passe" name="password" required>
<div class="input-group-button">
<button type="submit" (click)="goLogin()" value="submit" class="" [disabled]="!isValid"><img width="25px" src="imgs/start_service.png" alt="login_button"></button>
</div>
</div>
</form>
这是我的组成部分:
import {Component} from '@angular/core';
import {FORM_DIRECTIVES, NG_VALIDATORS, Validators, Control} from "@angular/common";
@Component({
selector: 'login',
templateUrl: 'app/core/templates/login.html',
directives: [FORM_DIRECTIVES]
})
export class LoginComponent {
protected login: string;
protected password: string;
constructor() {
}
}
当我的两个输入登录名和密码为空时,在其上获得了ng-invalid属性,并且该按钮被禁用。 但是,如果我填写输入,他们得到了ng-valid属性,但我的按钮仍然被禁用,并且我知道为什么,因为表单在输入填充时有效。 如果有人有想法请:) 如果您需要任何其他信息,我会尝试回答。
感谢阅读。
此致
答案 0 :(得分:1)
我会根据Angular2的内联表单支持使用以下内容:
<form #loginForm="ngForm">
<label class="omwave">Identifiant</label>
<input type="text" class="omwave" [(ngModel)]="login"
placeholder="Identifiant" name="login"
ngControl="name" required> <--------
<label class="omwave">Mot de passe</label>
<div class="input-group omwave">
<input type="password" class="input-group-field omwave"
[(ngModel)]="password" placeholder="Mot de passe"
ngControl="password" name="password" required> <-------
<div class="input-group-button">
<button type="submit" (click)="goLogin()" value="submit"
class="" [disabled]="!loginForm.valid"> <------
<img width="25px" src="imgs/start_service.png" alt="login_button">
</button>
</div>
</div>
</form>
在您的情况下,我不知道如何处理isValid
属性及其对应的内容。您可以直接依赖表单状态(loginForm
)及其valid
属性。
答案 1 :(得分:0)
我认为这会奏效,
<button type="submit" (click)="goLogin()" value="submit" class="" [disabled]="!loginForm.form.valid"><img width="25px" src="imgs/start_service.png" alt="login_button"></button>