【发布时间】:2017-09-27 06:53:32
【问题描述】:
我正在尝试为字段名称 VoucherNumber 实现文本字段验证,该验证要求代码采用特定模式,即“WWV-”后跟 4 个数字。
我成功地使用下面的表达式^[W]WV-[0-9][0-9][0-9][0-9]在谷歌文档上实现了这一点。
我研究了各种答案并尝试在functions.php中添加此代码,但没有奏效。它只会显示表单正在发送(旋转轮),但即使在 5 分钟后也不会发送。
add_filter( 'wpcf7_validate_text*', 'validate_voucher_number', 20, 2 );
function validate_voucher_number( $result, $tag ) {
$tag = new WPCF7_FormTag( $tag );
if ( 'VoucherNumber' == $tag->name ) {
$VoucherNumber = isset( $_POST['VoucherNumber'] ) ? trim( $_POST['VoucherNumber'] ) : '';
if ( ! preg_match ( "^[W]WV-[0-9][0-9][0-9][0-9]" , $VoucherNumber) ){
$result->invalidate( $tag, "Voucher number is invalid" );
}
}
return $result;
}
【问题讨论】:
标签: php wordpress contact-form-7