セレクトボックスのコードは次のようにする。
[mwform_select name="pref" children=":選択してください,北海道,青森県,岩手県,宮城県,秋田県" post_raw="true"]
これによって未選択の場合、valueが空になるため、選択しているか否か判別できるようになる。これで「バリデーションルール」の「必須項目」にチェックを入れればバリデーションは効くが、表示されるエラー文言が「未入力です。」となってしまう。
そこで次のコードをfunctions.phpに記述して文言を変更する。xxxの部分はフォームID
function my_validation_rule( $Validation ) {
$Validation->set_rule(
'pref',
'noEmpty',
array( 'message' => '選択されていません。' )
);
return $Validation;
}
add_filter( 'mwform_validation_mw-wp-form-xxx', 'my_validation_rule' );