2016-05-21 65 views
0

我使用Redux-Form,我有以下情形:在Redux-Form上,我可以在驗證後處理值,但在提交之前?

號和日期,時間是特有的,因爲它們可能會無效,直到您填寫完字段(例如12/08/)。此外,您可能有多個表示相同值的字符串(例如2.50002.5)。

因此,我決定保留所有字段爲字符串都在窗體和應用程序狀態。

問題是,我需要驗證後,處理字段的值,以便JSON去服務器實際上有數字和日期時間,而不僅僅是字符串。

這是理想的解決方案嗎?如果是這樣,我該怎麼做?

回答

2

你的推理聽起來很合理。你已經有一個「格式化程序」運行,可以將數據轉換爲字符串,所以你只需要在表格onSubmit和ajax調用之間使用它的恭維語「解析器」。

render() { 
    const { fields, handleSubmit } = this.props 
    return (
    <form onSubmit={handleSubmit(values => { 
     // all values are guaranteed to pass sync validation here, 
     // so they should all parse just fine. 
     const parsedValues = parseIntoRealDataTypes(values) 
     return ajax.post('/api/myWidgets', parsedValues) 
      .then(response => { 
      // rejoice 
      }) 
     })}> 
    </form> 
) 
} 
相關問題