2017-04-02 23 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

希望这会有所帮助!