mw wpformで条件分岐フォームでありながら、それぞれのフォームにバリデーションを付与する方法です。
以下では選んだラジオボタンによって、
切り替えるフォームを作成する方法です。
funnction.phpに以下の記述をします。
/* mw wp form validate */
function my_validation_rule( $Validation, $data ) {
if ( $data['投稿'] === '画像' ) {
$Validation->set_rule( '画像', 'noEmpty', array(
'message' => '画像が添付されていません'
) );
}
if ( $data['投稿'] === 'テキスト' ) {
$Validation->set_rule( 'テキスト', 'noEmpty', array(
'message' => 'テキストをご記入下さい。'
) );
}
return $Validation;
}
add_filter( 'mwform_validation_mw-wp-form-1582', 'my_validation_rule', 10, 2 );
$data[‘投稿’] にあたる部分がラジオボタンのname属性にあたる部分です。
あとはset_ruleにバリデートを付与したいフォームエリアのname属性を指定してあげればOKです。
■ 投稿をを選択
[mwform_radio name="投稿" children="画像,テキスト]
■画像を添付してください
[mwform_file name="画像"]
■テキストを記入してください
[mwform_text name="テキスト"]
■送信ボタン
[mwform_submitButton name="mwform_submitButton-982" confirm_value="確認画面へ" submit_value="送信する"]
あとはスクリプトでname=”投稿”のvalの値によって表示非表示の条件分岐をしてあげれば、
選んだ選択肢によって表示非表示を切り替えられるマルチフォームを作成することができます。