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

如何通过Elementor Pro钩子设置表单提交时的错误提示信息

Elementor Pro表单提交时通过$handler设置错误提示的方法

要在Elementor Pro表单提交时用$handler设置错误提示,你需要用到两个关键操作:调用add_error()方法添加错误信息,同时将is_success属性设为false来中断表单的成功提交流程。

完整示例代码

add_action( 'elementor_pro/forms/new_record', function( $record, $handler ) {
    // 确认是目标表单
    $form_name = $record->get_form_settings( 'form_name' );
    if ( 'MY_FORM_NAME' !== $form_name ) {
        return;
    }

    // 提取表单字段值
    $raw_fields = $record->get( 'fields' );
    $fields = [];
    foreach ( $raw_fields as $id => $field ) {
        $fields[ $id ] = $field['value'];
    }

    // 自定义错误判断逻辑,比如检查手机号格式
    if ( ! preg_match( '/^1[3-9]\d{9}$/', $fields['phone'] ) ) {
        // 给指定字段添加错误提示
        $handler->add_error( 'phone', '请输入正确的手机号格式' );
        // 阻止表单提交成功
        $handler->is_success = false;
        return;
    }

    // 全局错误提示(不绑定到特定字段)
    if ( empty( $fields['agreement'] ) ) {
        $handler->add_error( '', '请勾选用户协议' );
        $handler->is_success = false;
        return;
    }
}, 10, 2 );

关键说明

  • $handler->add_error( $field_id, $error_message ):第一个参数是字段ID(留空则显示全局错误),第二个参数是错误提示文本
  • $handler->is_success = false:必须设置这个属性,否则表单会继续执行成功提交的流程,错误提示不会显示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 04:36:22