0

几天来,我一直在尝试使用 Contact Form 7 插件对 Wordpress 中的一系列表单进行验证。它似乎一直很受欢迎,而且似乎没有其他人遇到与我相同的问题。

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

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

当字段为空白但发送按钮根本不起作用时,会出现错误。更复杂的是,侧边栏中还有另一个表单,当它完成并按下提交按钮时,其他表单上的验证错误就会出现!

我真的完全无法理解这一点。我考虑过拉出所有表格并从头开始编写它们,在进行过程中实施我自己的验证,但重新发明轮子似乎很愚蠢。我很感激这方面的任何帮助。

抱歉,忘记附上链接了!

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”的字段中。最后两行将函数直接连接到电子邮件字段(可选)和电子邮件字段(非可选) - 两者。

这个易于理解的示例已经过测试,可以正常工作,并有望节省您的时间 :) - 请投票 :) 工作示例在这里:https ://www.baab.de/bestellung-wordpress-nginx-webhosting/

于 2015-06-11T02:49:21.920 回答