如何通过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
相关产品推荐
相关产品推荐

