2017-04-02 35 views
0

錯誤爲什麼錯誤與validate函數一起定義?我在日誌中打印錯誤,但在字段中未定義。當我嘗試做field.meta.error時,我得到一個未定義的。我把它放在<input>之後的inputComponent常數中。Redux窗體錯誤未定義

const inputComponent = function(field) { 
    return (
    <div> 
     <input { ...field.input } type={field.type} placeholder={field.placeholder} className={field.className} /> 
    </div> 
); 
} 

class Test extends Component { 

    render() { 

    <div> 
     <Field name="name" component={inputComponent} type="email" placeholder="Email" /> 
     <Field name="password" component={inputComponent} type="password" placeholder="Password" /> 
    </div> 

    } 


function validate(values) { 
    const errors = {}; 

    if(!values.name) { 
    errors.categories = "Name error"; 
    } 

    if(!values.password) { 
    errors.categories = "Password error"; 
    } 

    return errors; 
} 

} 

Test = reduxForm({ 
    form: 'NameForm', 
    validate 
}, null, null)(Test); 

export default connect(mapStateToProps, mapDispatchToProps)(Test); 

回答

1

當您從validate返回errors對象,包含了Field錯誤消息的密鑰必須相同領域的name道具。

因此,在這種情況下:

function validate(values) { 
    const errors = {}; 

    if(!values.name) { 
    errors.name = "Name error"; 
    } 

    if(!values.password) { 
    errors.password = "Password error"; 
    } 

    return errors; 
} 

欲瞭解更多信息,我建議你檢查出從終極版表格文檔this validation example

希望這會有所幫助!