redux-form の検証に合格すると、他の HTML フォームと同じように送信されるフォームを作成しようとしています。検証が失敗した場合は、すべてのフィールドに触れて送信を防止したいと考えています。
したがって、次のいずれかを行う必要があります。検証が失敗した場合にフィールドに触れる独自の onSubmit 関数を作成します。私がしようとしているもの:
この実装:
handleSubmit (event) {
const {touch, fields} = this.props
if (!allValid(fields)) {
event.preventDefault()
touch(...fields)
}
}
次のエラーが発生TypeError: Cannot read property 'indexOf' of undefined
します: への呼び出しからtouch
。の実装でこのエラーが発生している場所を正確に追跡するのに苦労していますがtouch
、それは間違いなくそれへの呼び出しtouch
です。
組み込みの handleSubmit を使用すると、検証が失敗した場合に適切な動作が得られますが、検証が成功した場合に通常の HTML フォームのようにフォームを送信する方法がわかりません。
handleSubmit (event) {
const {touch, fields} = this.props
if (!allValid(fields)) {
event.preventDefault()
this.props.handleSubmit(() => {})()
}
}
これは機能しますが、それを行うには悪い方法のようです。