自訂表單元件內加入非同步驗證導致的驗證問題

我在自訂表單元件內加入非同步驗證, 但因為非同步的關係, 而會發生即使自定元件內的表單驗證通過了, 在使用這元件的表單驗證沒有通過, 感覺上是非同步驗證完後並沒有把結果送至使用端

程式如下

我不確定你的問題是什麼,我重新寫一個範例你可以參考比對看看

感謝你的回覆,我的問題是:因為非同步的驗證實際上會有時間差(所以我在 code 加入 delay 來模擬),依你的 code,因為這個時間差會讓 UserComponent 裡的 firstName 的驗證結果,會與 AppComponentuserControl 的驗證結果不同,當輸入 1234 時,UserComponent.firstName.invalid 會是 true,但 userControl.invalid 會是 false

我有重新調整一版,這一版就是正常的了,請參考

原來是要用 AsyncValidaor, 感謝