2017-10-03 10 views
2

ReduxフォームでFormSectionを検証する方法はありますか?ReduxフォームでのFormSectionでの検証の使用

FormSectionに2つのチェックボックスがあり、少なくとも1つがチェックされていることを確認しています。

他のフィールドコンポーネントに必要な機能が既に用意されていますが、これは動作しません。いくつかの回避策がありますか?

 <FormSection name="fieldName" validate={required}> 
     <div className="form-body"> 
      <Field 
      label="one" 
      name="one" 
      id="one" 
      component={CheckBox} 
      /> 
      <Field 
      label="two" 
      name="two" 
      id="two" 
      component={CheckBox} 
      /> 
     </div> 
     </FormSection> 

答えて

0

回避策として、フォーム・レベルの検証に使用することができます:あなたの検証機能でhttps://redux-form.com/7.0.4/examples/syncvalidation/

を、フィールド名がFormSectionの名前を付けられます。したがって、検証関数は次のようになります。

function validate(values){ 
    const {fieldNameone, fieldNametwo} = values; 
    let errors = {}; 

    if (fieldNameone === '' && fieldNametwo === '') { 
     errors.fieldNameone = 'Either field one or two must be filled in'; 
     errors.fieldNametwo = errors.fieldNameone; 
    } 

    return errors; 
} 

これはテストされていないため、おそらく完璧ではありません。

この機能をFormSectionコンテナに定義して、モジュール性を向上させることができます。

+0

私はFormSectionレベルの解決策または回避策を望んでいましたが、現時点ではこれは不可能であることが分かりました。助けてくれてありがとう! :) – Lamb

関連する問題