2017-09-26 24 views
-1

我的REDX形式有兩個動作,一個是onclick我只需要驗證一個字段,第二個動作我需要做提交動作。我怎樣才能做到這一點如何添加不同的錯誤,以減少表單字段在不同的行動

class BLoginForm extends React.PureComponent{ 
render(){ 
    const { handleSubmit, pristine, reset, submitting, onSubmit, openForgotForm } = this.props; 
    return (
     <FormCon> 
      <form onSubmit = { handleSubmit(onSubmit) }> 
       <Field name = "username" type = "text" component = { BInputPhone } label = "Email or Mobile number" /> 
       <Field name = "password" type = "password" component = { BInput } label = "Password" /> 
       <a onClick = { openForgotForm } >forgot</a> 
       <div> 
        <BPrimaryBtn type = "submit" disabled = { submitting }>LOGIN</BPrimaryBtn> 
       </div> 
      </form> 
     </FormCon> 
    ); 
} 

}

回答

0

要understsand,我有3點型動物的形式。

function submitForms() { 
    dispatch(submit('FirstOne')) // First form 
    dispatch(submit('secondOne')) // Second form 
    dispatch(submit('thirdOne')) // Thrid form 
} 
<Button type="button" onClick={ submitForms } /> 

使用此功能,您將觸發提交功能到所有窗體。

可以實現每一個提交派遣多個動作

const mapstateToProps = (state,ownProps) => { 
    {... do some stuff ... } 

return { 
    submit : (values, dispatch, props) => { 
     dispatch(YOUR ACTIONS) // So to validate one field ? 
     dispatch(YOUR ACTIONS) // dispatch your second actions. 
    } 
} 


export default Form = connect(mapStateToProps)(reduxForm({ 
    form:'YoURFORMNAME' 
})(YoURFORMCOMP)) 

我可以補充一點,如果你想驗證只有饑荒預警系統表單字段,你可以創建一個簡單的驗證爲

const required = value => (value ? undefined : 'Required') 

並將其添加到您的字段中

<Field {...props} 
    validate={required} 
</Field> 
+0

我的意思是我有一個f orm和兩個按鈕,並且這兩個按鈕負責執行兩項不同的任務,並且這兩個按鈕都會在某些I/O調用之前進行一些基本驗證。在點擊「忘記」時,我必須進行驗證,並在提交時,驗證由redux表單自行處理。 – sundar

+0

我不明白。 您的驗證是否爲'redux-form驗證'?或者其他Redux海關行動驗證? – GreGGus

+0

點擊忘記我想做一些自定義驗證 – sundar

相關問題