自定义联系人表单7验证-需要两个字段之一

chhqkbe1  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(268)

我的联系人表单上有两个文本字段:成本加成和固定费率。我需要两个中的一个。如果未输入成本加成,则需要统一费率。。反之亦然。php中的这段代码似乎没有给我任何反馈。

add_filter( 'wpcf7_validate_text', 'custom_form_validation_filter', 20, 2 );

function custom_form_validation_filter( $result, $tag ) {
    $tag = new WPCF7_FormTag($tag);

    if ('cost-plus' == $tag->name) {
        $cost_plus = isset($_POST['cost-plus']) ? trim($_POST['cost-plus']) : '';
        $flat_rate = isset($_POST['flate-rate']) ? trim($_POST['flate-rate']) : '';

        if ( empty($cost_plus) && empty($flat_rate) ) {
            $result->invalidate( $tag, "You must enter a Cost Plus OR Flat Rate value." );
        }
    }
  return $result;
}
muk1a3rh

muk1a3rh1#

下面的代码应该适用于您的用例。根据前端post请求中发送的值,您可能需要进行一些额外的检查。如果下面的代码不适用于您的用例,请考虑在这里发布整个POST请求以进行调试。

if(isset($_POST['cost-plus']) || isset($_POST['cost-plus'])){
    // Do logic here
}else{
    $result->invalidate( $tag, "You must enter a Cost Plus OR Flat Rate value." );
}

相关问题