联系表格7验证让我疯狂

时间:2013-11-04 12:44:47

标签: jquery forms validation

我几天来一直试图使用Contact Form 7插件在Wordpress中的一系列表单上实现验证。它看起来一直很受欢迎,没有其他人似乎有同样的问题。

我需要验证所有输入,所以我安装了jquery-validation-for-contact-form-7插件,其中包括电子邮件和其他插件。

我的表单都没有正确验证。主要的一个是简单的呼叫请求表单,它位于模式内,通过标题中的链接触发。我想知道模态是否导致问题,所以我创建了一个内部表单的测试帖。

当字段为空但发送按钮根本不起作用时,会出现错误。要复合这一点,侧边栏中还有另一种形式,当完成此操作并按下提交按钮时,将显示OTHER表单上的验证错误!

我根本无法理解这一点。我已经考虑过拉动所有表格并从头开始编写它们,随着我的进行实现我自己的验证,但重新发明轮子似乎很愚蠢。我对此表示感谢。

抱歉,忘了提供链接!

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

1 个答案:

答案 0 :(得分: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  

该示例为名为“your-email”的字段添加了额外的“Gmail-Email-Address-Validator”。最后两行将函数直接挂钩到电子邮件字段(可选)和电子邮件字段(非可选) - 两者。

这个易于理解的例子经过测试,有效并希望节省您的时间:) - 请投票:) 工作示例如下:https://www.baab.de/bestellung-wordpress-nginx-webhosting/