首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何自定义验证contact form 7中的输入

如何自定义验证contact form 7中的输入
EN

Stack Overflow用户
提问于 2019-06-11 05:26:41
回答 1查看 109关注 0票数 0

我使用的是contact form 7,我创建了一个文本输入,让用户输入日期。我有占位符mm/dd/yyyy。目前,我正在尝试在该输入中验证此格式。我尝试使用date标记,但在safari上没有,所以这就是我使用text标记的原因。

add_filter('wpcf7_validate_text', 'custom_date_validation', 20, 2);
add_filter('wpcf7_validate_text*', 'custom_date_validation', 20, 2);

function custom_text_validation($result, $tag) {
$type = $tag->type; //object instead of array
$name = $tag->name; //object instead of array

if($name == 'last-name') {
    $value = $_POST[$date-signed];
    if(!preg_match("^((0|1)\d{1})/((0|1|2)\d{1})/((19|20)\d{2})", $value )){ //new regex statement
        $result->invalidate($tag, "Invalid Date");
    }
}
return $result;

}

我想当用户没有在输入中输入正确的联系表单7以显示无效的日期。

EN

回答 1

Stack Overflow用户

发布于 2019-06-11 05:30:34

您可以尝试这个正则表达式(它更精确,因为我们在开头和结尾使用锚点),并且您在正则表达式中所做的一些错误将被更正

^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([1][9][9]\d|[2]\d{3})$

日期模式: mm/dd/yyyy

本例中的年份应在1990年<年< 2999年之间(您可以根据需要对其进行编辑)

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

https://stackoverflow.com/questions/56533750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档