Checkout woocommerce-invalid class for radio
-
Hi there,
I add some extra field in my checkout process, and I noticed the woocommerce-invalid class when the client forgot to fill this field, doesn’t appear for the woocommerce_form_field type radio …
Is this a bug, if not …?why !? and does a solution exist ?
Thank you
-
Hi there @alexislevrai !
May I ask how you added the additional Checkout fields? By default, WooCommerce plugin does not have an option to add additional Checkout fields. Are you using some other plugin to accomplish this?
For instance, we offer WooCommerce Checkout Add-Ons extension on our WooCommerce marketplace.
Could you also share the URL to the site so we can take a look at the Checkout flow?
Thanks!
Hi Nami,
I’m doing that in the function.php.
Iadd_action( 'woocommerce_before_order_notes', 'booking_infos_checkout_field' );
Then there I print two fields, a select and a radio, and the problem is only on the radiowoocommerce_form_field( 'need_white_cyclo', array( 'type' => 'radio', 'required' => 'true', 'class' => array('need_white_cyclo-class form-row-wide'), 'label' => __('Are you gonna use the white cyclo floor ?</br><i>White floor invoiced on the final invoice extra 120€ for Studio 1 and/or extra 70€ for Studio 2</i>', 'fpe_themes' ), 'options' => array( 'No' => __( 'No thanks (Floor covered)', 'fpe_themes' ), 'Yes' => __( 'Yes please', 'fpe_themes' ), ) ), $checkout->get_value( 'need_white_cyclo' ));
You can have a look in my preprod site here : https://bit.ly/3wkBn7k
You need to add one of the studio in the cart and go to the checkout ??
Hello,
Sorry to hear about the issue.I’m doing that in the function.php.
To clarify, is the issue present if you add the code using a plugin like Code Snippets?
I am asking because it allows you to add custom PHP code into your site without directly accessing the functions.php file. Here is an article that explains how to use the Code Snippets plugin.
Let us know if this worked for you.
Hi
To clarify, is the issue present if you add the code using a plugin like Code Snippets?
No via ftp with my code editor as any developper creating a wordpress theme (I think ??)
Thanks for responding.
Can you please try adding the code using the Code Snippets plugin?
Let us know if that worked for you.
Hi
Doesn’t change a thing …
??Hello,
Thanks for confirming that.Just to check if we are on the same page can you provide a
screenshot of the error
?You can send it via https://snipboard.io – please follow the instructions on that page, then paste the URL in this thread.
Thanks.
Hi,
It’s not really an error. It’s more a bug of something in the UI that doesn’t appear as it should be.
As you know when someone validate the checkout, all required field are checked.
If some of them are empty there is an error message and the field concerned get these class : woocommerce-invalid woocommerce-invalid-required-fieldThe problem here is that I don’t have these class on the radios.
have a look here : https://ibb.co/GVdny26 and here https://ibb.co/jv8wfsb
Thanks
Hello!
For the records, please share your current System Status Report. You can get it by navigating to the
WooCommerce / Status
section of your site. Once there, click on theGet system report
button and then copy it by clicking on theCopy for support
button. Then paste it here in a comment.Here it is !
### WordPress Environment ### WordPress address (URL): https://www.mysite.studio/site Site address (URL): https://www.mysite.studio WC Version: 6.7.0 REST API Version: ? 6.7.0 WC Blocks Version: ? 7.8.3 Action Scheduler Version: ? 3.4.0 Log Directory Writable: ? WP Version: 6.0.2 WP Multisite: – WP Memory Limit: 256 MB WP Debug Mode: – WP Cron: ? Language: en_GB External object cache: – ### Server Environment ### Server Info: Apache PHP Version: 8.1.9 PHP Post Max Size: 64 MB PHP Time Limit: 50000 PHP Max Input Vars: 5000 cURL Version: 7.64.0 OpenSSL/1.1.1n SUHOSIN Installed: – MySQL Version: 5.7.38-log Max Upload Size: 64 MB Default Timezone is UTC: ? fsockopen/cURL: ? SoapClient: ? DOMDocument: ? GZip: ? Multibyte String: ? Remote Post: ? Remote Get: ? ### Database ### WC Database Version: 6.7.0 WC Database Prefix: wpSite_ Taille totale de la base de données: 56.39MB Taille de la base de données: 36.72MB Taille de l’index: 19.67MB wpSite_woocommerce_sessions: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_woocommerce_api_keys: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_woocommerce_attribute_taxonomies: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_woocommerce_downloadable_product_permissions: Données?: 0.02MB + Index?: 0.06MB + Moteur InnoDB wpSite_woocommerce_order_items: Données?: 0.14MB + Index?: 0.06MB + Moteur InnoDB wpSite_woocommerce_order_itemmeta: Données?: 1.52MB + Index?: 1.92MB + Moteur InnoDB wpSite_woocommerce_tax_rates: Données?: 0.02MB + Index?: 0.06MB + Moteur InnoDB wpSite_woocommerce_tax_rate_locations: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_woocommerce_shipping_zones: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_woocommerce_shipping_zone_locations: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_woocommerce_shipping_zone_methods: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_woocommerce_payment_tokens: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_woocommerce_payment_tokenmeta: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_woocommerce_log: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_actionscheduler_actions: Données?: 1.22MB + Index?: 0.92MB + Moteur InnoDB wpSite_actionscheduler_claims: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_actionscheduler_groups: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_actionscheduler_logs: Données?: 1.52MB + Index?: 0.39MB + Moteur InnoDB wpSite_commentmeta: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_comments: Données?: 2.52MB + Index?: 1.03MB + Moteur InnoDB wpSite_css_js_manager: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_failed_jobs: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_links: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_mailchimp_carts: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_mollie_pending_payment: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_options: Données?: 6.33MB + Index?: 0.16MB + Moteur InnoDB wpSite_postmeta: Données?: 13.38MB + Index?: 10.89MB + Moteur InnoDB wpSite_posts: Données?: 4.48MB + Index?: 0.69MB + Moteur InnoDB wpSite_queue: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_termmeta: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_terms: Données?: 0.06MB + Index?: 0.03MB + Moteur InnoDB wpSite_term_relationships: Données?: 1.47MB + Index?: 0.27MB + Moteur InnoDB wpSite_term_taxonomy: Données?: 0.08MB + Index?: 0.06MB + Moteur InnoDB wpSite_usermeta: Données?: 2.52MB + Index?: 2.03MB + Moteur InnoDB wpSite_users: Données?: 0.09MB + Index?: 0.08MB + Moteur InnoDB wpSite_wc_admin_notes: Données?: 0.06MB + Index?: 0.00MB + Moteur InnoDB wpSite_wc_admin_note_actions: Données?: 0.05MB + Index?: 0.02MB + Moteur InnoDB wpSite_wc_bookings_availability: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_wc_bookings_availabilitymeta: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_wc_booking_relationships: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_wc_category_lookup: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_wc_customer_lookup: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_wc_deposits_payment_plans: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_wc_deposits_payment_plans_schedule: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_wc_download_log: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_wc_order_coupon_lookup: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_wc_order_product_lookup: Données?: 0.09MB + Index?: 0.06MB + Moteur InnoDB wpSite_wc_order_stats: Données?: 0.06MB + Index?: 0.05MB + Moteur InnoDB wpSite_wc_order_tax_lookup: Données?: 0.05MB + Index?: 0.03MB + Moteur InnoDB wpSite_wc_points_rewards_user_points: Données?: 0.02MB + Index?: 0.03MB + Moteur InnoDB wpSite_wc_points_rewards_user_points_log: Données?: 0.02MB + Index?: 0.05MB + Moteur InnoDB wpSite_wc_product_attributes_lookup: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_wc_product_download_directories: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_wc_product_meta_lookup: Données?: 0.05MB + Index?: 0.09MB + Moteur InnoDB wpSite_wc_rate_limits: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_wc_reserved_stock: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_wc_tax_rate_classes: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_wc_webhooks: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_woocommerce_kbccw_customer_contexts: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_woocommerce_kbccw_documents: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_woocommerce_kbccw_ecc: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_woocommerce_kbccw_schema_version: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_woocommerce_kbccw_storage: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB wpSite_woocommerce_kbccw_transactions: Données?: 0.11MB + Index?: 0.00MB + Moteur InnoDB wpSite_yoast_seo_links: Données?: 0.02MB + Index?: 0.02MB + Moteur InnoDB wpSite_yoast_seo_meta: Données?: 0.02MB + Index?: 0.00MB + Moteur InnoDB ### Post Type Counts ### acf: 9 acf-field: 51 acf-field-group: 11 attachment: 352 bookable_person: 214 bookable_resource: 6 faq-pt: 66 nav_menu_item: 18 page: 40 polylang_mo: 3 post: 4 product: 289 revision: 707 shop_coupon: 4 shop_order: 490 shop_order_refund: 7 wc_booking: 993 wc_order_email: 2 wc_order_status: 12 wpcf7_contact_form: 1 ### Security ### Secure connection (HTTPS): ? Hide errors from visitors: ? ### Active Plugins (25) ### Polylang Pro: par WP SYNTEX – 3.2.5 Advanced Custom Fields: Repeater Field: par Elliot Condon – 2.1.0 Advanced Custom Fields: par Delicious Brains – 5.12.3 Payment Gateway Based Fees and Discounts for WooCommerce: par Tyche Softwares – 2.7.0 Classic Editor: par Contributeurs et contributrices WordPress – 1.6.2 Classic Widgets: par WordPress Contributors – 0.3 Contact Form 7: par Takayuki Miyoshi – 5.6.2 Disable password reset email: par – Google Authenticator: par Ivan Kruchkoff – 0.54 Google XML Sitemap for Images: par Amit Agarwal – 2.1.3 Google XML Sitemaps: par Auctollo – 4.1.5 Image Watermark: par dFactory – 1.7.2 jQuery Manager for WordPress: par Remzi Cavdar – 1.10.6 Mollie Payments for WooCommerce: par Mollie – 7.3.0 Polylang for WooCommerce: par WP SYNTEX – 1.6.3 Simple Custom Post Order: par Colorlib – 2.5.6 Theme and plugin translation for Polylang (TTfP): par Marcin Kazmierski – 3.2.13 User Admin Simplifier: par Adam Silverstein – 1.0.0 WooCommerce Bookings: par WooCommerce – 1.15.59 (une mise à jour de la version 1.15.61 est disponible) WooCommerce Deposits: par WooCommerce – 1.6.0 (une mise à jour de la version 1.6.1 est disponible) WooCommerce Order Status Manager: par SkyVerge – 1.13.3 (une mise à jour de la version 1.13.4 est disponible) WooCommerce Sequential Order Numbers Pro: par SkyVerge – 1.18.1 WooCommerce: par Automattic – 6.7.0 (une mise à jour de la version 6.8.2 est disponible) Asset CleanUp Pro: Page Speed Booster: par Gabriel Livan – 1.1.7.8 YITH WooCommerce Request A Quote Premium: par YITH – 2.3.4 ### Inactive Plugins (4) ### Loco Translate: par Tim Whitlock – 2.6.2 Polylang: par WP SYNTEX – 3.2.5 Polylang Theme Strings: par Modeewine – 4.0 Regenerate Thumbnails: par Alex Mills (Viper007Bond) – 3.1.5 ### Must Use Plugins (1) ### Asset CleanUp Pro: Plugin Filtering: par Gabriel Livan – 1.0 ### Settings ### API Enabled: ? Force SSL: ? Currency: EUR (€) Currency Position: right Thousand Separator: Decimal Separator: , Number of Decimals: 2 Taxonomies: Product Types: booking (booking) external (external) grouped (grouped) simple (simple) variable (variable) Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog) exclude-from-search (exclude-from-search) featured (featured) outofstock (outofstock) rated-1 (rated-1) rated-2 (rated-2) rated-3 (rated-3) rated-4 (rated-4) rated-5 (rated-5) Connected to WooCommerce.com: ? Enforce Approved Product Download Directories: – ### WC Pages ### Base de la boutique: #4 - /en/equipment-rental/ Panier: #5 - /en/cart/ Commander: #6 - /en/checkout/ Mon compte: #7 - /en/my-account/ Conditions générales de vente et d’utilisation: #8 - /en/terms-privacy/ ### Theme ### Name: 50.8 Studio - V3.072022 Version: 3.0 Author URL: https://www.holysoakers.com Child Theme: ? – Si vous modifiez WooCommerce sur un thème parent que vous n’avez pas construit personnellement nous vous recommandons d’utiliser un thème enfant. Voir?: Comment créer un thème enfant WooCommerce Support: ? ### Templates ### Overrides: mysite-2207/woocommerce/archive-product.php mysite-2207/woocommerce/cart/cart-empty.php mysite-2207/woocommerce/cart/cart-item-data.php mysite-2207/woocommerce/cart/cart-totals.php mysite-2207/woocommerce/cart/cart.php version 3.4.0 est obsolète. La version du noyau est 3.8.0 mysite-2207/woocommerce/checkout/form-billing.php version 3.0.9 est obsolète. La version du noyau est 3.6.0 mysite-2207/woocommerce/checkout/form-checkout.php version 2.3.0 est obsolète. La version du noyau est 3.5.0 mysite-2207/woocommerce/checkout/form-login.php version 2.0.0 est obsolète. La version du noyau est 3.8.0 mysite-2207/woocommerce/checkout/form-shipping.php version 3.0.9 est obsolète. La version du noyau est 3.6.0 mysite-2207/woocommerce/checkout/payment-method.php version 2.3.0 est obsolète. La version du noyau est 3.5.0 mysite-2207/woocommerce/checkout/payment.php mysite-2207/woocommerce/checkout/review-order.php version 2.3.0 est obsolète. La version du noyau est 5.2.0 mysite-2207/woocommerce/checkout/thankyou.php version 3.2.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/content-product.php mysite-2207/woocommerce/content-single-product.php version 3.0.0 est obsolète. La version du noyau est 3.6.0 mysite-2207/woocommerce/emails/admin-cancelled-order.php version 2.5.0 est obsolète. La version du noyau est 4.1.0 mysite-2207/woocommerce/emails/admin-failed-order.php version 2.5.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/emails/admin-new-order.php version 2.5.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/emails/customer-completed-order.php version 2.5.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/emails/customer-new-account.php version 1.6.4 est obsolète. La version du noyau est 6.0.0 mysite-2207/woocommerce/emails/customer-note.php version 2.5.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/emails/customer-on-hold-order.php version 2.5.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/emails/customer-processing-order.php version 2.5.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/emails/customer-refunded-order.php version 2.5.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/emails/customer-reset-password.php version 2.0.0 est obsolète. La version du noyau est 4.0.0 mysite-2207/woocommerce/emails/email-footer.php version 2.3.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/emails/email-header.php version 2.4.0 est obsolète. La version du noyau est 4.0.0 mysite-2207/woocommerce/emails/email-order-details.php version 3.2.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/emails/email-order-items.php version 3.2.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/emails/email-styles.php version 2.3.0 est obsolète. La version du noyau est 4.0.0 mysite-2207/woocommerce/global/breadcrumb.php mysite-2207/woocommerce/global/form-login.php mysite-2207/woocommerce/global/quantity-input.php version 3.2.0 est obsolète. La version du noyau est 4.0.0 mysite-2207/woocommerce/global/wrapper-end.php mysite-2207/woocommerce/global/wrapper-start.php mysite-2207/woocommerce/loop/loop-end.php mysite-2207/woocommerce/loop/loop-start.php mysite-2207/woocommerce/loop/price.php mysite-2207/woocommerce/myaccount/dashboard.php version 2.6.0 est obsolète. La version du noyau est 4.4.0 mysite-2207/woocommerce/myaccount/form-edit-account.php version 2.6.0 est obsolète. La version du noyau est 3.5.0 mysite-2207/woocommerce/myaccount/form-edit-address.php version 3.0.9 est obsolète. La version du noyau est 3.6.0 mysite-2207/woocommerce/myaccount/form-login.php version 3.2.0 est obsolète. La version du noyau est 4.1.0 mysite-2207/woocommerce/myaccount/form-lost-password.php version 3.0.0 est obsolète. La version du noyau est 3.5.2 mysite-2207/woocommerce/myaccount/form-reset-password.php version 3.0.0 est obsolète. La version du noyau est 3.5.5 mysite-2207/woocommerce/myaccount/lost-password-confirmation.php version 2.6.0 est obsolète. La version du noyau est 3.9.0 mysite-2207/woocommerce/myaccount/my-account.php version 2.6.0 est obsolète. La version du noyau est 3.5.0 mysite-2207/woocommerce/myaccount/my-address.php mysite-2207/woocommerce/myaccount/navigation.php mysite-2207/woocommerce/myaccount/orders.php version 3.2.0 est obsolète. La version du noyau est 3.7.0 mysite-2207/woocommerce/myaccount/view-order.php mysite-2207/woocommerce/order/order-details-customer.php version 3.2.0 est obsolète. La version du noyau est 5.6.0 mysite-2207/woocommerce/order/order-details-item.php version 3.0.0 est obsolète. La version du noyau est 5.2.0 mysite-2207/woocommerce/order/order-details.php version 3.2.0 est obsolète. La version du noyau est 4.6.0 mysite-2207/woocommerce/product-searchform.php mysite-2207/woocommerce/single-product/add-to-cart/simple.php mysite-2207/woocommerce/single-product/add-to-cart/variable.php version 3.5.5 est obsolète. La version du noyau est 6.1.0 mysite-2207/woocommerce/single-product/add-to-cart/variation-add-to-cart-button.php mysite-2207/woocommerce/single-product/price.php mysite-2207/woocommerce/single-product/product-image.php version 3.1.0 est obsolète. La version du noyau est 3.5.1 mysite-2207/woocommerce/single-product/product-thumbnails.php version 3.1.0 est obsolète. La version du noyau est 3.5.1 mysite-2207/woocommerce/single-product/tabs/description.php mysite-2207/woocommerce/single-product/title.php mysite-2207/woocommerce/single-product.php Outdated Templates: ? Apprenez comment mettre à jour ### WC Pages Translations ### Shop base: ? Cart: ? Checkout: ? My account: ? ### Templates ### Overrides: mysite-2207/woocommerce-bookings/booking-form/number.php mysite-2207/woocommerce-bookings/order/booking-display.php mysite-2207/woocommerce-bookings/single-product/add-to-cart/booking.php ### Admin ### Enabled Features: activity-panels analytics coupons customer-effort-score-tracks experimental-products-task experimental-import-products-task experimental-fashion-sample-products experimental-product-tour homescreen marketing mobile-app-banner navigation onboarding onboarding-tasks remote-inbox-notifications remote-free-extensions payment-gateway-suggestions shipping-label-banner subscriptions store-alerts transient-notices wc-pay-promotion wc-pay-welcome-page wc-pay-subscriptions-page Disabled Features: minified-js settings Daily Cron: ? Next scheduled: 2022-09-01 06:14:26 +02:00 Options: ? Notes: 91 Onboarding: completed ### Action Scheduler ### Terminé: 2,929 Oldest: 2022-08-01 10:54:25 +0200 Newest: 2022-08-31 09:07:18 +0200 En attente: 3 Oldest: 2022-08-31 09:22:18 +0200 Newest: 2022-09-01 15:17:40 +0200 ### Status report information ### Generated at: 2022-08-31 09:21:47 +02:00
Hello,
The system report shows there are some template overrides that may be affecting this.
Outdated Templates: ?
Can you update those files following instructions here: https://woocommerce.com/document/fix-outdated-templates-woocommerce/
I’ve also found this article which may be helpful to you – it also provides code to validate the required radio button field.
Mmmhhh okay, lot of doubt about that, but I will gave a try.
What page should I update first ? the form-checkout.php ?Hi there @alexislevrai
It appears that custom-added radio fields aren’t validated by WooCommerce by default.
You can add custom validation though:
add_action( 'woocommerce_after_checkout_validation', 'validate_custom_radiofield', 10, 2 ); function validate_custom_radiofield( $fields, $errors ){ if ( empty($_POST[ 'need_white_cyclo' ])){ $errors->add( 'validation', 'Please fill out need_white_cyclo..' ); } }
I hope this helps! ??
- The topic ‘Checkout woocommerce-invalid class for radio’ is closed to new replies.