Which parts of an address should be required?

sql, street-address

Solution

Not all countries even use postal codes, for example they were rarely used in New Zealand prior to 2006 or so. I think Ireland doesn't use them at all.

If you're truly international, city-states such as Singapore don't actually need a City field.

In the user interface, you can (and perhaps should) make the postcode required for countries where you already know it's required, since that isn't likely to change. And, if you make the UI dynamic enough, you can call it "Zip code" if the selected country is the United States, "Postal code" for Canada, "Postcode" for the UK, etc.

Problem

Say I am storing addresses in a DB table, in this fairly common break down: ``` address_street_line_1, address_street_line_2, address_city, address_state, address_zip, address_country_id ``` (Note: I have read the questions on splitting down further, street type, house number, etc. and for this application I think it would unnecessarily complicate things.) To work best with international users, which of these fields should NOT be required? I'm thinking this: ``` address_street_line_1 REQUIRED address_city REQUIRED address_country_id REQUIRED ``` Should I require state or zip? Thanks! Xavier

Original source