First, please note that I never called anyone stupid or moronic. You did, and I do not know why. I said "stupid forms" and I stand by my opinion.

I see why you'd want to validate US addresses properly now, thanks for the explanation. However, I still don't quite understand why you'd want to use the same rules for the rest of the world.

Your credit card company cannot possibly validate my address (with zip code) and telephone in a rigid US-based form, because I won't be able to enter my zip code or my telephone into that form. They simply won't fit and validators won't let them through. Also, many systems won't process non-ASCII characters in my street name.

Of course, I have been entering crap data into those forms for the last few years when buying online and have yet to see a credit card transaction rejected. Which means you don't have to worry about rejected transactions on out-of-country purchases, which means you might as well give us a reasonable form and not expect us to fight our way through your validators.

So why not make two forms -- one for US customers, and one for everyone who chooses a different country? Given your estimates I expect you might even get that done in 2010 :-)

Exactly. Have a US form. If the customer selects a non-US country then switch out the state for a freeform "state/territory" field and skip the US-centric validation. All up you might need 10 lines of HTML and server side code.

This applies to US-only services too. When trying to book accomodation and flights for a US trip I have heaps of websites refuse my money because I couldn't provide a US billing address. For example it didn't occur to the brain-dead developers of the Disneyland website that tourists be from outsite the US.

The problem is developers who seem to think they know what the customer wants. I know because I've done the same thing. If you're relying on your intuition then you are almost certainly wrong.

The post is as much a reply to you as it is a reply to your commentors. "Stupid" was used a little more liberally in the comments, and my post just exaggerates that for humor's sake.

My main point is that it depends on your audience. For most things I would develop, my primary audience is probably going to be from the US, so I should take that into consideration. If my analytics show a higher percentage of international users than I'd expected, then I can go back and spend more time developing another form for outside the US. It's all a matter of priorities.