サブミット検証でフォームを作成しようとしています。私がフォームを提出すると、handleSubmit
が発砲してSubmissionError
を投げますが、もう何も起こりません。Reduxフォームのサブミット検証でエラーメッセージが設定されない
は(単にエラーを毎回投げる)提出:
function submit(values)
{
console.log(values);
throw new SubmissionError({ password: 'Wrong password', _error: 'Login failed!' });
}
は例からフィールドをレンダリングします
const renderField = ({ input, label, type, meta: { touched, error } }) => (
<div>
<label>{label}</label>
<div>
<input {...input} placeholder={label} type={type}/>
{touched && error && <span>{error}</span>}
</div>
</div>
)
マイ形式:
class LoginForm extends Component {
render()
{
const { error, handleSubmit, pristine, reset, submitting } = this.props
console.log(error);
return (
<div>
<form onSubmit={handleSubmit}>
<h1>Login</h1>
<Field name="email" type="text" component={renderField} label="Username"/>
<Field name="password" type="text" component={renderField} label="Username"/>
{error && <strong>{error}</strong>}
<button type = "submit">Login</button>
</form>
</div>
)
}
}
LoginForm = reduxForm({
form: 'login',
onSubmit: submit
})(LoginForm);
export default LoginForm;
私はSubmit
を押すと、送信関数例外がスローされますが、何も起こらず、エラーメッセージがフォームとrenderField
は示されていません。
すなわちAPIリクエストのようないくつかの
promise
を行っているとき、私は、あなたがこの例を知っていると思い、これを使用します。http://redux-form.com/6.0.0-alpha.11/examples/submitValidation/ 私はなぜあなたはreduxFormの呼び出しで "onSubmit:submit"という行を置くのでしょうか?フォームのonSubmit属性でhandleSubmitをすでに定義しています。 – pwagner多分私はこのチュートリアルを理解することはできません。私は 'this.props.handleSubmit'を使用していますが、どのようにコンポーネントの小道具にサブミット関数を渡すべきですか? –
使用されているLoginFormコンポーネントのコードを追加できますか?これは次のようになります: ' ' –
pwagner