【问题标题】:How to validate my custom WooCommerce checkout field at the end?最后如何验证我的自定义 WooCommerce 结帐字段?
【发布时间】:2018-11-22 04:44:16
【问题描述】:

我为 WooCommerce 创建了一个自定义结帐字段。我还添加了验证。但是在点击下订单后,我的自定义字段也会检查它是否被验证。但是,我想检查我的自定义字段最后是否有效。我的意思是,将检查所有其他必填字段,然后检查我的自定义字段。 下面是我的代码结构:

function otp_func($checkout) {
  .............................
}
  add_action( 'woocommerce_after_checkout_billing_form', 'otp_func', 10 );
  add_action('woocommerce_checkout_process','my_custom_checkout_field_process');
  function my_custom_checkout_field_process() {
        ..........................
   }

下面是我的验证代码,如果所有其他字段都成功验证,我想在最后运行:

if (!$_POST['otp_field']) {
    wc_add_notice( __( 'OTP field is blank' ), 'error' );
} else if ( $_POST['otp_field'] != $otp_verify_report ) {
    wc_add_notice( __( 'Invalid OTP or OTP has been expired!' ), 'error' );
}

【问题讨论】:

  • 它没有用。它在我使用 add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process'); 的地方做同样的事情。但我只想在所有必填字段都有效的情况下验证它。

标签: woocommerce hook-woocommerce


【解决方案1】:

使用以下代码验证新字段。

在主题functions.php中添加以下代码

add_action( 'woocommerce_after_checkout_validation', 'wc_check_confirm_password_matches_checkout', 10, 2 );

function wc_check_confirm_password_matches_checkout( $posted ) {
    $checkout = WC()->checkout;
    if ( ! empty( $posted['otp_field'] ) ) {
        wc_add_notice( __( 'OTP field is blank' ), 'error' );
    } else if ( $posted['otp_field'] != $otp_verify_report ) {
        wc_add_notice( __( 'Invalid OTP or OTP has been expired!' ), 'error' );
    }
}

【讨论】:

  • 这行不通。如果所有其他必填字段均未验证,那么它甚至不应该检查我的自定义字段的验证。仅在验证其他必填字段时才检查我的自定义字段的验证。
【解决方案2】:

你可以试试:

function customise_checkout_field_process()
{
    if (!$_POST['the_customised_field_name']) wc_add_notice(__('the warning message') , 'error');
}

【讨论】:

  • 我不明白这是什么类型的代码:if (!$_POST['the_customised_field_name']) wc_add_notice(__('the warning message') , 'error');
  • 而且我也不想一一检查是否必填。
  • 要验证您的自定义字段,只有这个。
猜你喜欢
  • 2015-04-20
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
  • 2018-11-02
  • 2023-04-10
  • 2018-08-07
  • 2018-08-15
相关资源
最近更新 更多