重力形式 gform_validation 过滤器不起作用

Gravity form gform_validation filter not working

我正在尝试 post 向第三方 API 发送数据,根据响应,我需要取消表单提交。但我仍然在重力表单后端获取表单条目。

这是我的代码:

add_filter('gform_validation_10', 'stop_form_submission_validation');
function stop_form_submission_validation($validation_result){
    $form = $validation_result['form'];

    foreach ( $form['fields'] as $field ) {

        //NOTE: replace 1 with the field you would like to validate
        if ( $field->id == 1 ) {
            // set the form validation to false
            $validation_result["is_valid"] = false;
            $field->failed_validation  = true;
            $field->validation_message = 'This field is invalid!';
            break;
        }
    }
    $validation_result['form'] = $form;
    return $validation_result;
}

您需要通过引用分配数组值。否则,您修改的是数组项的副本,而不是项本​​身。

改变这个:

    foreach ( $form['fields'] as $field ) {

为此:

    foreach ( $form['fields'] as &$field ) {

好的,我找到了解决方案here

GFAPI::delete_entry( $entry['id'] );