2017-05-30 56 views
1

我想使用redux形式使用嵌套優惠券代碼/憑證子窗體結帳頁面。嵌套的還原形式:憑證形式內結帳形式

所以結帳表單將包括例如一個國家選擇,並在這個表單裏我想添加一個子表格來申請一個優惠券。

用戶需要能夠從主結賬單獨單獨申請憑證以查看可能的折扣。

提交一般結帳表格時,必須驗證憑證,以防萬一不適用。

什麼是最好的實施方式?

我明白我不能簡單地嵌套reduxForms。我不想創建2個單獨的表單,因爲我想顯示可能的驗證並在憑證字段下方提交一般結帳表單的錯誤 我可能能夠使用憑證字段的asyncValidation,但是我會喜歡用應用按鈕而不是場模糊來觸發。

enter image description here

回答

0

最終我實現了這個使用asyncValidation。爲了觸發這種情況,不是在離開憑證字段時,而是在單擊應用按鈕時,我使用文本字段和按鈕創建了一個自定義字段組件。 textfield獲取除了onBlur函數以外的所有輸入,按鈕的click處理程序調用input.onBlur。 因爲這是一個領域,我也可以在適當的時候輕鬆使用元信息來禁用按鈕。

感覺非常黑客,所以更好的解決方案是值得歡迎的。

+0

另一種方法是手動調用窗體的asyncValidate。 http://redux-form.com/6.0.5/docs/api/Props.md/#-asyncvalidate-function- 但是,特別是如果你需要多個異步驗證,你必須從其他地方檢索哪個部分是被驗證,所以你可以例如禁用按鈕。 –