【发布时间】:2019-06-11 05:36:05
【问题描述】:
我正在使用联系表 7,并为用户创建了一个文本输入以输入日期。我有占位符 mm/dd/yyyy。目前我正在尝试在该输入中验证这种格式。我尝试使用日期标签,但在 safari 上却没有,所以这就是我使用文本标签的原因。
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 显示无效日期。
【问题讨论】:
-
请注意,除非您实现一个非常复杂的正则表达式模式来解释每个月的不同天数,否则您最终仍然会允许不可能的日期。
标签: regex wordpress contact-form-7