0

Contact Form 7 プラグインを使用して、Wordpress の一連のフォームに検証を実装するために、何日も試みてきました。それは長年人気があるようで、私と同じ問題を抱えている人は誰もいないようです.

すべての入力を検証する必要があるため、電子メールなどを含む jquery-validation-for-contact-form-7 プラグインをインストールしました。

私のフォームはどれも正しく検証されません。主なものは、ヘッダーのリンクを介してトリガーされる、モーダル内にある単純な通話要求フォームです。モーダルが問題を引き起こしているのではないかと思ったので、フォーム内にテスト投稿を作成しました。

フィールドが空白の場合にエラーが表示されますが、送信ボタンはまったく機能しません。これをさらに複雑にするために、サイドバーに別のフォームがあり、これが完了して送信ボタンが押されると、OTHER フォームの検証エラーが表示されます!

私は本当にこれについてまったく頭をつかむことができません。すべてのフォームを取得してゼロから作成し、独自の検証を実装することを検討しましたが、車輪を再発明するのはばかげているようです。これについて何か助けていただければ幸いです。

すみません、リンクを入れるのを忘れていました!

http://trustedlocalsuppliers.com/test-form/

4

1 に答える 1

0

ここで他の多くの人と同じようにグーグルで検索しました。問題は、CF7がコードを少し前に変更したことであり、古い例が見つかります。以下は、私が使用している CF7 バージョン 4.2 の実際の例です。

function custom_email_validation_filter($result, $tag) {     
    $tag = new WPCF7_Shortcode( $tag );
    $name = $tag->name;
    if($name == 'your-email') { // Only apply to fields with the form field name of "your-email"  
         $the_value = $_POST[$name];  
         if( (substr($the_value, -10) !== '@gmail.com') ) {  
              $result->invalidate($tag, "This is not a gmail address!");
         };  
    };  
    return $result;  
};
add_filter('wpcf7_validate_email','custom_email_validation_filter', 10, 2); // Email field  
add_filter('wpcf7_validate_email*', 'custom_email_validation_filter', 10, 2); // Required Email field  

その例では、追加の「Gmail-Email-Address-Validator」を「your-email」という名前のフィールドに追加します。最後の 2 行は、関数を email-field (オプション) と email-field (非オプション) の両方にフックします。

このわかりやすい例はテスト済みで、機能し、うまくいけば時間を節約できます:) - 投票してください:) 実際の例はこちら: https://www.baab.de/bestellung-wordpress-nginx-webhosting/

于 2015-06-11T02:49:21.920 に答える