woocommerce offtopic – How to conditionally validate billing field on checkout and edit address pages?
Question
I used this code to add a checkbox and a required field:
add_filter('woocommerce_billing_fields', function ($fields) {
$fields['billing_user_type'] = [
'label' => __('Legal entity?', 'woocommerce'),
'placeholder' => '',
'required' => false,
'clear' => false,
'type' => 'checkbox',
'priority' => 40,
'class' => ['form-row-wide form-check billing-user-type']
];
$fields['billing_urc'] = [
'label' => __('Unique registration code', 'woocommerce'),
'placeholder' => __('Ex.: 1234567', 'woocommerce'),
'required' => true,
'clear' => false,
'type' => 'text',
'priority' => 42,
'class' => ['form-row-first user-type-field hidden']
];
}
My issue is, that on the checkout and edit address pages, the validation fails, even if the checkbox is not checked (as expected), but I want to validate the value of the field only if the checkbox is checked. I know that I can do it if I set the field to not required, by using the woocommerce_checkout_process
and woocommerce_after_save_address_validation
hooks, but is it really impossible to do it this way? (by setting the field as required, and skipping validation)
0
2 weeks
2022-07-22T08:05:59-05:00
2022-07-22T08:05:59-05:00 0 Answers
0 views
0
Leave an answer