任意の入力フィールドへのバリデーションを追加できるフックです。複雑なバリデーションルールを設定したいときなどに使うと便利です。フック名「mwform_validation_mw-wp-form-xxx」の xxx の部分はフックを適用したいフォームの作成画面に表示されているフォーム識別子の key になります([mwform_formkey key="3811"] の場合は 3811)。
フックに指定された関数内で「$Validation::set_ruleメソッド」を使って任意の入力フィールドにバリデーションルールを追加していきます。$Validation::set_rule では規定のバリデーションルールを設定することができます。バリデーションルールの詳しい情報については「
バリデーションルール一覧」をご覧ください。
サンプルコード
/**
* my_validation_rule
* @param object $Validation
* @param array $data
* @param MW_WP_Form_Data $Data
* $Validation::set_ruleの引数は name属性値, バリデーション名, オプション
*/
function my_validation_rule( $Validation, $data, $Data ) {
$Validation->set_rule( 'お名前', 'noEmpty' );
$Validation->set_rule( '電話番号', 'tel', array( 'message' => 'それは電話番号じゃなかばい' ) );
$Validation->set_rule( '年齢', 'betweenn', array( 'min' => 18, 'max' => 60 ) );
return $Validation;
}
add_filter( 'mwform_validation_mw-wp-form-xxx', 'my_validation_rule', 10, 3 );