火表單驗證在角2我能表單驗證在角2不要模糊
整合我使用form = formBuilder.group({...})
方法。
驗證工作正常。但是我想驗證只在我點擊提交時被解僱。目前默認情況下,當用戶從輸入模糊時,它會啓動。如何停止模糊發射驗證並手動點燃。
編輯:
問題用*ngIf
或[hidden]
是,他們很好地工作變量來跟蹤的形式提交。 但驗證只有當我從輸入模糊時纔會觸發。換句話說,當用戶沒有訪問輸入時,驗證不會觸發。
火表單驗證在角2我能表單驗證在角2不要模糊
整合我使用form = formBuilder.group({...})
方法。
驗證工作正常。但是我想驗證只在我點擊提交時被解僱。目前默認情況下,當用戶從輸入模糊時,它會啓動。如何停止模糊發射驗證並手動點燃。
編輯:
問題用*ngIf
或[hidden]
是,他們很好地工作變量來跟蹤的形式提交。 但驗證只有當我從輸入模糊時纔會觸發。換句話說,當用戶沒有訪問輸入時,驗證不會觸發。
您需要將自定義formSubmitted
屬性整合到您的表達式中以顯示錯誤。例如:
<span *ngIf="formSubmitted && form.controls.someCtrl.errors?.someerror">
Some message
</span>
默認情況下它的值是false
和表單提交時將被設置爲true
。
@Component({
(...)
template: `
<form (ngSubmit)="onFormSubmitted()">
</form>
`
})
export class SomeComponent {
formSubmitted: boolean = false;
onFormSubmitted() {
this.formSubmitted = true;
}
}
顯示,只有當提交平設置錯誤:
<form (ngSubmit)="submit()" ...>
<input ngControl="name" #name="ngForm" type="text">
<span [hidden]="name.valid && isSubmitted"><b>Required</b></span>
</form>
class MyComponent {
isSubmitted:boolean = false;
submit() {
this.isSubmitted = true;
}
}
你可以充分利用'touched'屬性:'form.touched'。 –
是的,這是另一個問題。我正在使用觸摸的財產。從某種意義上說,只有被觸摸纔會顯示。 – Akshay