如何在提交前访问Gravity Form字段?

问题描述 投票:0回答:1

我正在尝试访问提交前的Gravity Forms字段以检查乱码条目。我在StackOverflow上尝试了很多东西而且没有运气。

表单是id#1。我试过的1000件事中有一些包括:

GFFormsModel::get_form_meta(1);
GFFormsModel::get_leads(1);
$_POST['input_1']

并读这个:https://docs.gravityforms.com/gform_pre_submission/

我该怎么做呢?

forms gravity
1个回答
0
投票

如果您想以静默方式失败进行垃圾邮件条目,我建议使用gform_validation过滤器,如果您确定提交是垃圾邮件,则动态启用蜜罐。然后,Gravity Forms将无提示地失败。将显示确认,但不会创建条目。

以下是我的GP Blacklist插件处理这个问题的方法:

$honeypot_field_id = GFFormDisplay::get_max_field_id( $form ) + 1;
$_POST[ "input_{$honeypot_field_id}" ] = true;
$form['enableHoneypot'] = true;
$result['is_valid'] = true;

编辑

要实际检索该值,最简单的方法是从$ _POST中获取它(仅供参考,有更全面的技术)。这是一个更强大的例子。

add_filter( 'gform_validation', function( $result ) { 
    // Get the value of field ID 1
    $value = rgpost( 'input_1' );
    if( $value == 'gibberish' ) {
        // activate honeypot 
    }
    return $result;
} );
© www.soinside.com 2019 - 2024. All rights reserved.