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

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

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

  1. add_filter( 'wpcf7_validate_text', 'custom_form_validation_filter', 20, 2 );
  2. function custom_form_validation_filter( $result, $tag ) {
  3. $tag = new WPCF7_FormTag($tag);
  4. if ('cost-plus' == $tag->name) {
  5. $cost_plus = isset($_POST['cost-plus']) ? trim($_POST['cost-plus']) : '';
  6. $flat_rate = isset($_POST['flate-rate']) ? trim($_POST['flate-rate']) : '';
  7. if ( empty($cost_plus) && empty($flat_rate) ) {
  8. $result->invalidate( $tag, "You must enter a Cost Plus OR Flat Rate value." );
  9. }
  10. }
  11. return $result;
  12. }
muk1a3rh

muk1a3rh1#

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

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

相关问题