2017-04-02 13 views
0

なぜ検証機能でエラーが未定義ですか?私はログにエラーを表示しますが、フィールドには定義されていません。 field.meta.errorを実行しようとすると、私は定義されていません。私は<input>の後のinputComponent constに入れます。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; 
} 

は、詳細については、私はReduxのフォームのドキュメントから this validation exampleをチェックアウトすることをお勧めします。

希望すると便利です。

関連する問題