Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >需要自定义wordpress联系人表单-7表单域验证

需要自定义wordpress联系人表单-7表单域验证
EN

Stack Overflow用户
提问于 2015-03-09 13:34:18
回答 2查看 956关注 0票数 1

在我的Wordpress网站上,我安装了Contact Form-7插件,但是遇到了一个问题。我认为对于文本字段没有特殊的验证。此外,对于电话字段,Contact Form-7插件仅提供对not nullblank字段的基本验证。

我的问题是:对于这些问题,我应该如何解决它们?我可以修改核心插件文件,也可以创建自己的联系人表单。

EN

回答 2

Stack Overflow用户

发布于 2015-04-24 11:06:46

在Contact Form7中,用户输入验证是作为过滤函数实现的。用于验证的过滤器挂钩根据表单标签的类型而有所不同,并确定为: wpcf7_validate_ +{表单标签的类型}。因此,对于文本表单标记,使用过滤器钩子wpcf7_validate_text。同样,wpcf7_validate_email*也用于电子邮件*表单标签。

假设您的表单中包含以下电子邮件字段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  Email:         [email* your-email]
  Confirm email: [email* your-email-confirm]

下面的清单显示了验证这两个字段是否具有相同值的代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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是一个由给定的表单标记组件组成的关联数组;正如您在前面的方法中所看到的,您可以使用WPCF7_Shortcode类来处理这种类型的数据。

查看filter函数的内部。首先,检查表单标记的名称,以确保验证仅应用于特定字段(your-email-confirm)。

然后比较这两个电子邮件字段值,如果它们不匹配,将调用$result->invalidate()。您需要向invalidate()方法传递两个参数:第一个参数应该是$tag变量,第二个参数是您希望字段显示的验证错误消息。

最后,不要忘记返回$result。

票数 1
EN

Stack Overflow用户

发布于 2016-03-21 11:56:01

新的contact form 7插件提供了对其最新更新的内置验证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28943314

复制
相关文章
【HTML】HTML 表单 ⑤ ( form 表单域 )
从 input 表单 , textarea 文本域 , select 下拉菜单 中收集了用户信息 , 需要通过
韩曙亮
2023/03/30
4K0
【HTML】HTML 表单 ⑤ ( form 表单域 )
Laravel Validation 表单验证(二、验证表单请求)
创建表单请求验证 面对更复杂的验证情境中,你可以创建一个「表单请求」来处理更为复杂的逻辑。表单请求是包含验证逻辑的自定义请求类。可使用 Artisan 命令 make:request 来创建表单请求类:
joshua317
2022/10/31
29.4K0
laravel 表单验证之自定义验证规则
以添加用户为例 主要验证的字段 tusername、username、password、phone 辅助验证的字段 password_confirmation 验证第一种: //添加操作 public function store(Request $request) { $this->validate($request, [ 'tusername' => 'required', 'username' => 'require
友儿
2022/09/11
2.1K0
Angularjs 表单验证
<input name="id" ng-disabled="f_isEditMode()" class="form-control" ng-model="node.id" required placeholder="请输入系统唯一标识" ng-pattern="/^[\w\d_-]*$/"> <p>系统的唯一标识名称(格式:字母、数字、连字符、下划线) 如:mysql</p> <error-strings> <error-string on="my
问天丶天问
2018/06/13
3K0
formvalidation表单验证
官方文档:http://formvalidation.io var $formEntityProfileSearch = $("form[name=entityProfileSearch]"); var $formValidationEntityProfileSearch = $formEntityProfileSearch.data("formValidation"); //初始化表单验证 $formValidationEntityProfileSearch.revalidateField('compan
windseek
2018/05/15
3K0
Validate表单验证
validate 一、 validate的使用步骤 引入jquery.min.js 引入 jquery.validate.js 页面加载后对表单进行验证 $("#表单id名").validate({}) 在validate中的rules中编写验证规则(格式如下) 字段的name属性:“校验器”(tisps:一个输入框只有一个校验器的时候使用) 字段的name属性:{校验器:值,校验器:值}(tips:输入框需要有多个校验器的时候使用) 在validate中的messages中编写提示信息(tips格
Twcat_tree
2022/11/30
3.7K0
Validate表单验证
JavaScript 表单验证
JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。
陈不成i
2021/07/19
3.1K0
Laravel表单验证
今天来说一下laravel框架的表单验证实例代码,下面一起来看看吧! 一、场景 用户前台登录页面,如下图 二、提交方式 AJAX提交 三、说明 1、laravel框架表单提交需要有CSRF验证 2、
申霖
2020/11/23
3.5K0
Laravel表单验证
angularjs 表单验证
一、常用的表单验证指令  1. 必填项验证 某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: <input type="text" required />   2. 最小长度 验证表单输入的文本长度是否大于某个最小值,在输入字段上使用指令ng-minleng= "{number}": <input type="text" ng-minlength="5" /> 3. 最大长度 验证表单输入的文本长度是否小于或等于某个最大值,在输入字段上使用指令ng-maxlength=
柴小智
2018/04/10
6.7K0
angularjs 表单验证
jquery 表单验证
("form :input.required").each(function(){
用户5760343
2019/10/10
3.6K0
jquery 表单验证
jsp表单验证
后面有代码,需要直接拿 toUpperCase()方法将字符串小写字符转换为大写 语法 public String toUpperCase() 或 public String toUpperCase(Locale locale) 参数 无 返回值 字符转换为大写后的字符串。 效果图如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE ht
天蝎座的程序媛
2022/11/18
3.1K0
jsp表单验证
Element表单验证
要加验证之前一定要确保已经写了 prop 属性,该属性是跟 rule 绑定在一起的,也可以在行内单独制定 rules。
leader755
2022/03/09
3.6K0
vue动态生成表单_vue element 表单验证
前几天接了一个需求,需要动态生成一个表单数据,然后提交,提交完数据后。通过编辑按钮进入时,需要进行数据回填。
全栈程序员站长
2022/11/17
2.5K0
vue动态生成表单_vue element 表单验证
用JQUERY做大表单(多表单域)AJAX提交
function postData() { var post = ""; $(":text").each(function() { post += "&" + this.name + "=" + this.value; }); $(":password").each(function() { post += "&" + this.name + "=" + this.value; }
liulun
2022/05/09
1.3K0
bootstrap 表单验证 常用
image.png <!doctype html> <html> <head> <meta charset="utf-8"> <title>联想控股</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> <link href="css/bootstrapV
用户5760343
2019/07/08
2.3K0
bootstrap 表单验证 常用
Js表单验证整理
1.手机验证[验证13系列和150-159(154除外)、180、185、186、187、188、189几种号码,长度11位] function isMobel(value) { if (/^13\d{9}$/g.test(value) || (/^15[0-35-9]\d{8}$/g.test(value)) || (/^18[05-9]\d{8}$/g.test(value))) { return true; } else { alert('请输入
磊哥
2018/05/09
9.9K0
go实现表单验证
package main import ( "fmt" "html/template" "log" "net/http" "regexp" "strconv" ) func sayHelloName(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "hello box") } func login(w http.ResponseWriter, r *http.Request) { if r.Method == "GET" { t, _ := template.ParseFiles("login.html") t.Execute(w, nil) } else if r.Method == "POST" { username := r.FormValue("username") password := r.FormValue("password") phone := r.FormValue("phone") like := r.FormValue("like") sex := r.FormValue("sex") utype := r.FormValue("utype") fmt.Println(like) fmt.Println(sex) fmt.Println(utype) //获取年龄之后转成int型 age, err := strconv.Atoi(r.FormValue("age")) if err != nil { w.Write([]byte("数字转化出错了,那么可能就不是数字")) return } if username == "" || password == "" || age == 0 { w.Write([]byte("username and password and age must not null")) return } //获取数据判定大小 if age > 100 { w.Write([]byte("age is to big")) return } if m, _ := regexp.MatchString(`^(1[3|4|5|8][0-9]\d{4,8})$`, phone); !m { w.Write([]byte("phone is error")) return } } else { fmt.Println("error") } } func main() { http.HandleFunc("/", sayHelloName) http.HandleFunc("/login", login) err := http.ListenAndServe(":8081", nil) if err != nil { log.Fatal("ListenAndServe:", err) } }
公众号-利志分享
2022/04/25
9950
Flask(表单验证 八)
WTForms 安装 $ pip install flask-wtf 导入 from flask_wtf import FlaskForm 编写校验器 from flask_wtf import FlaskForm from wtforms import StringField, PasswordField from wtforms.validators import Regexp, DataRequired, Length, EqualTo class RegisterForm(FlaskForm
zx钟
2020/07/02
1.2K0
Flask(表单验证 八)
常用表单验证插件
插件地址:https://github.com/gavin125/gavin-Vtype 主要用正则的方式匹配输入内容的格式 分为两个版本: 1、Vtypejs.js为原生js版本 2、Vtype.j
小古哥
2018/03/08
2.3K0
常用表单验证插件
angularjs的表单验证
angularjs内置了常用的表单验证指令,比如min,require等。下面是演示:
MJ.Zhou
2018/07/31
1.4K0
angularjs的表单验证

相似问题

需要使用jQuery通过Wordpress自定义域填充联系人表单7表单域

113

Wordpress -联系人表单7-验证自定义字段

11

使用jQuery添加表单域(wordpress中的联系人7表单)

20

WordPress联系人-表单7

10

Wordpress联系人表单7

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文