Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Validate state on options change #4761

Merged
merged 1 commit into from
Sep 21, 2021
Merged

Conversation

mikejolley
Copy link
Member

Validates the value of the state against the current list of states to ensure it's valid.

Fixes #4753

Testing

How to test the changes in this Pull Request:

  1. Setup base location to have a state (US Address)
  2. Checkout with a NZ address
  3. Do not select a state during checkout. Ensure you can place the order.

This was broken before because the customer would inherit the default store state. E.g. AL (Alabama, US). When checking out from New Zealand, AL would be preserved, but since state is optional, there is no event triggered to update AL to something else. AL is not a valid state for New Zealand.

Changelog

Fix state validation if base location has a state, and the address has an optional state.

@mikejolley mikejolley self-assigned this Sep 16, 2021
@mikejolley mikejolley requested a review from a team as a code owner September 16, 2021 14:40
@mikejolley mikejolley requested review from ralucaStan and removed request for a team September 16, 2021 14:40
@github-actions
Copy link
Contributor

Size Change: +307 B (0%)

Total Size: 1.11 MB

Filename Size Change
build/cart-frontend.js 91.6 kB +55 B (0%)
build/cart.js 46.4 kB +64 B (0%)
build/checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 5.08 kB +60 B (+1%)
build/checkout-blocks/order-summary-frontend.js 12.6 kB +55 B (0%)
build/checkout.js 52.4 kB +73 B (0%)
ℹ️ View Unchanged
Filename Size
build/active-filters-frontend.js 8.4 kB
build/active-filters.js 8 kB
build/all-products-frontend.js 23.1 kB
build/all-products.js 37.1 kB
build/all-reviews.js 9.63 kB
build/atomic-block-components/add-to-cart--atomic-block-components/button--atomic-block-components/image---a7e2bb9b.js 2.66 kB
build/atomic-block-components/add-to-cart--atomic-block-components/button.js 1.82 kB
build/atomic-block-components/add-to-cart--atomic-block-components/image--atomic-block-components/title.js 334 B
build/atomic-block-components/add-to-cart-frontend.js 8.38 kB
build/atomic-block-components/add-to-cart.js 7.72 kB
build/atomic-block-components/button-frontend.js 1.74 kB
build/atomic-block-components/button.js 873 B
build/atomic-block-components/category-list-frontend.js 469 B
build/atomic-block-components/category-list.js 476 B
build/atomic-block-components/image-frontend.js 1.88 kB
build/atomic-block-components/image.js 1.35 kB
build/atomic-block-components/price-frontend.js 2.1 kB
build/atomic-block-components/price.js 2.11 kB
build/atomic-block-components/rating-frontend.js 564 B
build/atomic-block-components/rating.js 567 B
build/atomic-block-components/sale-badge-frontend.js 859 B
build/atomic-block-components/sale-badge.js 867 B
build/atomic-block-components/sku-frontend.js 392 B
build/atomic-block-components/sku.js 393 B
build/atomic-block-components/stock-indicator-frontend.js 611 B
build/atomic-block-components/stock-indicator.js 611 B
build/atomic-block-components/summary-frontend.js 904 B
build/atomic-block-components/summary.js 911 B
build/atomic-block-components/tag-list-frontend.js 466 B
build/atomic-block-components/tag-list.js 472 B
build/atomic-block-components/title-frontend.js 1.44 kB
build/atomic-block-components/title.js 1.29 kB
build/attribute-filter-frontend.js 18.1 kB
build/attribute-filter.js 12 kB
build/blocks-checkout.js 21 kB
build/checkout-blocks/actions-frontend.js 1.47 kB
build/checkout-blocks/billing-address-frontend.js 1.15 kB
build/checkout-blocks/contact-information-frontend.js 3.88 kB
build/checkout-blocks/express-payment--checkout-blocks/payment-frontend.js 4.82 kB
build/checkout-blocks/express-payment-frontend.js 1.83 kB
build/checkout-blocks/fields-frontend.js 290 B
build/checkout-blocks/order-note-frontend.js 1.56 kB
build/checkout-blocks/payment-frontend.js 4.52 kB
build/checkout-blocks/sample-frontend.js 249 B
build/checkout-blocks/shipping-address-frontend.js 1.62 kB
build/checkout-blocks/shipping-methods-frontend.js 5.57 kB
build/checkout-blocks/terms-frontend.js 1.64 kB
build/checkout-blocks/totals-frontend.js 269 B
build/checkout-frontend.js 54.4 kB
build/featured-category.js 7.79 kB
build/featured-product.js 9.5 kB
build/handpicked-products.js 6.33 kB
build/mini-cart-component-frontend.js 36.8 kB
build/mini-cart-frontend.js 2.35 kB
build/mini-cart.js 2.34 kB
build/price-filter-frontend.js 14.4 kB
build/price-filter.js 9.69 kB
build/price-format.js 1.37 kB
build/product-best-sellers.js 6.68 kB
build/product-categories.js 3.38 kB
build/product-category.js 7.56 kB
build/product-new.js 6.84 kB
build/product-on-sale.js 7.19 kB
build/product-search.js 2.66 kB
build/product-tag.js 6.65 kB
build/product-top-rated.js 6.81 kB
build/products-by-attribute.js 7.77 kB
build/reviews-by-category.js 11.5 kB
build/reviews-by-product.js 13.1 kB
build/reviews-frontend.js 8.97 kB
build/single-product-frontend.js 26.2 kB
build/single-product.js 9.78 kB
build/stock-filter-frontend.js 8.82 kB
build/stock-filter.js 7.81 kB
build/vendors--atomic-block-components/add-to-cart--checkout-blocks/billing-address--checkout-blocks/orde--63cde524-frontend.js 16.2 kB
build/vendors--atomic-block-components/add-to-cart-frontend.js 4.78 kB
build/vendors--atomic-block-components/price--checkout-blocks/order-summary--checkout-blocks/shipping-methods-frontend.js 5.71 kB
build/vendors--checkout-blocks/billing-address--checkout-blocks/order-summary--checkout-blocks/shipping-address-frontend.js 5.03 kB
build/vendors--checkout-blocks/order-summary-frontend.js 3.11 kB
build/wc-blocks-data.js 11.1 kB
build/wc-blocks-editor-style-rtl.css 15.5 kB
build/wc-blocks-editor-style.css 15.5 kB
build/wc-blocks-google-analytics.js 1.98 kB
build/wc-blocks-middleware.js 1.47 kB
build/wc-blocks-registry.js 3.73 kB
build/wc-blocks-shared-context.js 1.54 kB
build/wc-blocks-shared-hocs.js 1.75 kB
build/wc-blocks-style-rtl.css 20.1 kB
build/wc-blocks-style.css 20.1 kB
build/wc-blocks-vendors-style-rtl.css 1.37 kB
build/wc-blocks-vendors-style.css 1.37 kB
build/wc-blocks-vendors.js 254 kB
build/wc-blocks.js 3.5 kB
build/wc-payment-method-bacs.js 806 B
build/wc-payment-method-cheque.js 806 B
build/wc-payment-method-cod.js 898 B
build/wc-payment-method-paypal.js 839 B
build/wc-payment-method-stripe.js 12.2 kB
build/wc-settings.js 2.91 kB

compressed-size-action

Copy link
Contributor

@opr opr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM and works well 👍🏼

@mikejolley
Copy link
Member Author

Thanks for testing @opr 👏🏻

@mikejolley mikejolley merged commit b326db2 into trunk Sep 21, 2021
@mikejolley mikejolley deleted the fix/invalid-state-handling branch September 21, 2021 10:48
@senadir senadir added the type: bug The issue/PR concerns a confirmed bug. label Sep 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: bug The issue/PR concerns a confirmed bug.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can't checkout in NZ - "state" validation error, possibly when store is in USA and customer in NZ
3 participants