You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Contact Form7自定义空字段错误消息失效问题求助

Contact Form7 空字段自定义错误消息失效原因及解决办法

核心原因

Contact Form7 对标记为必填的字段(字段名带*,比如[text* your-name])有内置优先验证机制:当字段为空时,系统会直接触发内置的必填错误提示,不会执行你后续添加的自定义空字段验证逻辑。这就是为什么你检查非空或特定字符的自定义验证能生效,但空字段验证被系统默认消息覆盖的原因。

解决办法

方案1:取消内置必填验证,完全用自定义逻辑控制

把字段的*去掉,比如将[text* your-name]改成[text your-name],然后保留你的自定义空字段验证代码(检查空字符串或empty()),此时系统不会触发内置验证,自定义错误消息就能正常显示。

方案2:替换系统默认的必填错误消息

如果你需要保留字段的必填标记(带*),可以用CF7的过滤器直接替换默认错误文本,无需自己写空字段检查:

add_filter( 'wpcf7_validation_error_message', 'custom_required_error_message', 10, 2 );
function custom_required_error_message( $message, $field ) {
    if ( 'your-name' == $field->name && 'invalid_required' == $field->error->code ) {
        return '请输入您的姓名(自定义必填错误消息)';
    }
    return $message;
}

额外说明

当你验证非空字段或特定字符时,因为没有触发内置的必填检查条件(字段不为空),所以自定义验证逻辑会正常执行,这就是这类场景能生效的原因。

内容的提问来源于stack exchange,提问作者GrimesWeb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 10:04:51