maz*_*ive 6 php validation wordpress contact contact-form-7
我只需要验证一个字段(称为"实例")以仅接受小写ASCII字母和数字,第一个字符也必须是字母而不是数字.它将接受大写字符,但我们需要它在输入时将它们小写.因此,如果有人使用实例名称McDonalds,它将小写为mcdonalds(不仅仅是CSS).也不允许有空格.
这可能与CF7有关吗?如果是这样,请解释如何.
我已经尝试过这种自定义验证方法,但即使在文件中使用预设的自定义验证,它也只是显示字段短代码而不是字段本身.
谢谢
来自contactform7.com上的自定义验证→验证作为过滤器:
在联系表单7中,用户输入验证被实现为过滤功能.用于验证的过滤器钩子取决于form-tag的类型,并确定为:wpcf7_validate_ + {form-tag的类型}.因此,对于文本表单标记,使用过滤器钩子wpcf7_validate_text.同样,wpcf7_validate_email*用于email*form-tags.
假设您在表单中包含以下电子邮件字段:
Run Code Online (Sandbox Code Playgroud)Email: [email* your-email] Confirm email: [email* your-email-confirm]以下清单显示了验证两个字段是否具有相同值的代码.
Run Code Online (Sandbox Code Playgroud)add_filter('wpcf7_validate_email*', 'custom_email_confirmation_validation_filter', 20, 2); function custom_email_confirmation_validation_filter($result, $tag) { $tag = new WPCF7_Shortcode($tag); if ('your-email-confirm' == $tag->name) { $your_email = isset($_POST['your-email']) ? trim($_POST['your-email']) : ''; $your_email_confirm = isset($_POST['your-email-confirm']) ? trim($_POST['your-email-confirm']) : ''; if ($your_email != $your_email_confirm) { $result->invalidate($tag, "Are you sure this is the correct address?"); } } return $result; }两个参数将传递给过滤函数:$ result和$ tag.$ result是WPCF7_Validation类的一个实例,它管理一系列验证过程.$ tag是一个由给定的form-tag组件组成的关联数组; 正如您在上一个配方中看到的那样,您可以使用WPCF7_Shortcode类来处理此类数据.
查看过滤器功能的内部.首先,检查form-tag的名称以确保验证仅应用于特定字段(your-email-confirm).
然后比较两个电子邮件字段值,如果它们不匹配,将调用$ result-> invalidate().您需要将两个参数传递给invalidate()方法:第一个参数应该是$ tag变量,第二个参数是您希望字段显示的验证错误消息.
最后,不要忘记返回$ result.
小智 3
请使用这个wordpress插件
联系表单 7 的 Jquery 验证 https://wordpress.org/plugins/jquery-validation-for-contact-form-7/
| 归档时间: |
|
| 查看次数: |
31034 次 |
| 最近记录: |