根據角度表單構建器/組中其他字段的值運行並設置一個字段的驗證錯誤 (Run and set the validation errors on one field based on the value of other field in angular form builder/group)


問題描述

根據角度表單構建器/組中其他字段的值運行並設置一個字段的驗證錯誤 (Run and set the validation errors on one field based on the value of other field in angular form builder/group)

我希望自定義函數驗證器在 StartDate 和 EndDate 模糊時運行

component.ts

Createform(){
this.studentForm = formBuilder.group({
      StartDate: ['', Validators.required, customFunction(), updateOn: "blur" ],
      EndDate: ['', null,customFunction(), updateOn: "blur" ],

}

自定義函數

customFunction(){
 if (EndDate <= startDate) {
          return of({ invalidDate: true });
        } 
      }  
      return of(null);
    };
}

它設置 CreateForm。在 StartDate 上運行時,controls['StartDate'].errors?.invalidDate 為 true。即使我在 StartDate 上運行該函數,是否可以在 EndDate 上設置此 invalidDate?

自定義函數運行正確,但是當它在 StartDate 上運行時,它會在開始日期設置錯誤數組,但我希望錯誤設置在 EndDate,可以嗎?


參考解法

方法 1:

In your custom function, you can use setErrors function to set error on different field

Custom Function

customFunction(){
 if (EndDate <= startDate) {
         this.studentForm.form.controls['endDate'].setErrors({'invalidDate': true});;
        } 
      }  
      return of(null);
    };
}

(by Learn AspNetNirjhar Vermani)

參考文件

  1. Run and set the validation errors on one field based on the value of other field in angular form builder/group (CC BY‑SA 2.5/3.0/4.0)

#angular7 #angular8 #Angular






相關問題

更改角度 7 中打印值的顏色 (Change the colour of printed value in angular 7)

在Angular7中更改路線的頁面重新加載問題 (Page reload issue on changing the route in Angular7)

如何使用訂閱來映射對象 (How to map object using subscribe in angular)

Angular 文件夾結構 (Angular Folder Structure)

在兄弟組件之間傳遞數據 (Passing Data between sibling components)

如何在 *ngFor 中循環選擇標籤並獲取所選值 (how to loop throught select tags inside *ngFor and get the selected value)

如何測試角度事件監聽器? (How to test angular event listeners?)

Angular 7/8 響應開發服務器上的健康檢查 (Angular 7/8 respond to health-checks on the dev server)

NgRx Store:如何在兩個功能模塊之間共享數據 (NgRx Store : How to share the data between two feature modules)

根據角度表單構建器/組中其他字段的值運行並設置一個字段的驗證錯誤 (Run and set the validation errors on one field based on the value of other field in angular form builder/group)

如何更改 Angular Material 中的標籤標籤? (How to change tab label in Angular Material?)

429 Too Many Requests - Angular 7 - 多個文件上傳 (429 Too Many Requests - Angular 7 - on multiple file upload)







留言討論