2
我正在驗證Angular2中的表單,我使用了默認驗證器和一些自定義驗證函數進行驗證。此外,我從服務器實施異步驗證。現在的問題是,它正在驗證對change事件的控制,並在該控件的每個按鍵上執行一個jax請求。我希望執行該ajax請求在模糊的控制上執行。在模糊或任何其他事件上驗證angular2控件
有什麼辦法來控制該控件的驗證?或對模糊或任何其他事件執行驗證?
我正在驗證Angular2中的表單,我使用了默認驗證器和一些自定義驗證函數進行驗證。此外,我從服務器實施異步驗證。現在的問題是,它正在驗證對change事件的控制,並在該控件的每個按鍵上執行一個jax請求。我希望執行該ajax請求在模糊的控制上執行。在模糊或任何其他事件上驗證angular2控件
有什麼辦法來控制該控件的驗證?或對模糊或任何其他事件執行驗證?
如果你想手動控制驗證,你可以使用setErrors
類AbstractControl
(我假設你正在使用模型驅動或在組件中使用FormControl的引用)。
所以,千萬不要硬編碼的驗證功能,以您的形式開始
this.userNameFormControl = this.formBuilder.control(""/*, Validators.required*/);
相反,訂閱您的自定義事件,並手動驗證控制:
validateUserName() {
let validationResult = Validators.required(this.userNameFormControl);
if (validationResult) {
this.userNameFormControl.setErrors(validationResult);
}
}
注:這些代碼線沒有經過測試。
我相信這不是一個好主意。因爲在我的應用程序中,我需要驗證模糊上的所有字段。所以像這樣寫每個領域的驗證是複雜的,我認爲不是很好的實踐。尋找其他答案。 –