Making The "states" Field Optional For Countries With No States

As you might know, the "Country", "State", and "City" fields are required when they're added to the checkout page. This is done to ensure that real-time shipping methods calculate rates correctly.
Some of our clients have requested to make certain fields (at least the "State") not required. We have looked into this and come with a possible solution. Before we go about implementing it, please let us know what you think.
The "State" field will be required only if the selected country has a pre-set dropdown list of states. Otherwise (if the customer has to type the state manually), the field will become optional at checkout.
Since you can create states in the admin panel (or import them in bulk), you'll always be able to make the field required or not required.
Looking forward to hearing your thoughts on this one.


I'm glad this issue finally got your attention.

As far as I know, for custom shipping rates (not live rates) the cart need only to compare the data entered by customer and finds the "best match" according to the presets done by admin - usually country and weight are only needed. In some cases the parcel size is also a factor. Not sure how it works for "live rates" but I guess the cart does not do the actual calculations - just sending request to courier's site, getting back the data and displaying it where needed. We're talking about shipping rate estimation only, not the actual address info needed for the parcel to be delivered to recipient. Please, make it simple for all, especially for customers (shoppers). If a courier/postal office has specific/different requirements regarding the data needed to estimate rates, admins will know that best and can set the required fields for it. The cart should be the "tool" - not the "boss"!!! You guys tried to make lite checkout like "one size fits all" and it was a design mistake. Please, just make ALL fields controlled by admin and let admin decide what is needed for shipping. Also let admins decide if they want specific shipping methods for specific countries and include that option in rate areas settings - check boxes with all active methods available, so admin can display them all or only selected ones for this area.

On checkout page - make all active shipping methods displayed, even there's no address yet. It looks quite confusing especially for first time customers when they see that red message at checkout about no shipping methods available for their country. That's the first thing they see on checkout page. Yes, after they select the country, shipping methods are displayed but customers do not know that and many assume they can't shop in this store. Another thing - make the rate updating "silent". No need this huge grey pop-up asking to click here... If that is very hard or impossible, then just put that good old elegant "Recalculate" button right after the shipping address and make it appear only when shipping rate update is needed.

Another serious design flaw is the addresses stored in customer's profile. When option for having more than one address is enabled, let customers to choose to save the "new" address" to their "Address book" or no. If "no" - this address will be used for the current order only - just disable that "auto save/update" function, especially when only one address is allowed. If customer uses address, different from the one they have in their account profile - it changes that address too and next time they have to change that address again. Some might not notice the shipping address was the last one they used and it's not what they want this time. Annoying and totally not needed function. Address book - well, you can check few of the big sites and you'll figure out what works best and what ordinary shoppers are used to. Make one shipping and one billing (if more than one) address as "main" or "default", which will be loaded on checkout with every new order or let customers with more than one address to set one as default (radio buttons). Also do not tie up one shipping address with one billing address.

My thoughts are based on a single store. Perhaps MV owners would have other things to add here. For sure there are more things but fixing these above would be a great start. I realize all this looks like "off-topic" (states field mandatory or not), but all things are interconnected and looking at only one detail separately would be a recipe for other issues later.

Thank you

Yes Good idea thanks

That does seem like a better solution than the current method. But does it not feel like overcomplicating it - since the Profile Fields already have a “required” checkbox.

That does seem like a better solution than the current method. But does it not feel like overcomplicating it - since the Profile Fields already have a "required" checkbox.

Try to uncheck any or all of them (city, state, country) and see what happens.

There can be selection without choosing the country selection. This is a tumultuous situation.