Fix address validation having a country w/o states #3763
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an extract from #3129 and addresses the concern having a separate commit fixing #3098 and enabling the stores to backport the fix more easily without being forced to upgrade.
This mainly fixes the address' state validation bug when switching from a country with states (regions) to one without.
Before validating that the associated state belongs to the associated country, ensure the country does have states; if it doesn't, nullify the
state_id
since we don't need one here.This is quite a tricky bug that has been partially introduced when the
validate_state_matches_country
validation method has been merged.Note: both state validation methods are being deprecated in #3129 and partially refactored into a configurable validation class allowing to override the default behavior and handling any region-based edge case around the address' state normalization and validation logic.
Checklist: