【问题标题】:Contact Form 7 custom validation for specific form id联系特定表单 ID 的表单 7 自定义验证
【发布时间】:2016-07-15 04:33:37
【问题描述】:

我在 Contact Form 7 中使用自定义验证,但我需要仅针对特定表单进行验证,而不是针对我的所有表单。这是我的代码:

add_filter( 'wpcf7_validate_text*', 'my_custom_text_validation_filter', 20, 2 );
function my_custom_text_validation_filter( $result, $tag ) {

    $tag = new WPCF7_Shortcode( $tag );

    if ( 'name' == $tag->name ) { // validate name field only

        .... // my validation here

    }

    return $result;
}

【问题讨论】:

    标签: php forms validation contact-form-7


    【解决方案1】:

    CF7 总是向表单添加一个名为 _wpcf7 的隐藏字段,其中包含表单 ID。可以使用该字段在执行代码之前检查您正在验证的表单:

    add_filter( 'wpcf7_validate_text*', 'my_custom_text_validation_filter', 20, 2 );
    function my_custom_text_validation_filter( $result, $tag ) {
    
        if ( isset($_POST['_wpcf7']) && $_POST['_wpcf7'] != 166) // Only form id 166 will be validated.
            return $result;
    
        $tag = new WPCF7_Shortcode( $tag );
    
        if ( 'name' == $tag->name ) { // validate name field only
    
            .... // my validation here
    
        }
    
        return $result;
    }
    

    【讨论】:

    • 花了很长时间才找到这个答案...非常感谢!
    猜你喜欢
    • 2020-07-18
    • 2015-05-10
    • 2014-05-16
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 2019-03-28
    • 2019-02-02
    • 2014-06-04
    相关资源
    最近更新 更多