开发者

What should I do if a user types an unrecognized city?

开发者 https://www.devze.com 2023-02-09 13:44 出处:网络
I\'m trying to develop an easy way for users to enter addresses. I\'ve got a database of postal codes and cities already, so if a user enters his street address and postal code, I can (usually) retri

I'm trying to develop an easy way for users to enter addresses.

I've got a database of postal codes and cities already, so if a user enters his street address and postal code, I can (usually) retrieve the city, province, and country automatically. However, if this information is missing from my database, they'll be required to fill it in.

I'm trying to decide what this should look like. Should I just display the 2 fields (street and postal code) by default, and then after they've filled it out, use AJAX to validate the postal code, and if it's not found, make the rest of the fields appear? This has the drawback that they may be part way through the rest of the form before it appears.

I could take the opposite approach and hide the extra fields only if the postal code is found. But then they might fill out information they didn't need to by the time its validated. Or is there some middle ground?

Just trying to figure out the q开发者_Python百科uickest and easiest/user-friendly way for people to enter addresses. Suggestions?


I've done this before. I had the user enter street and zip code, then they had to choose what city they were from in case there was more than one to choose from. I didn't hide any fields, but there wasn't anything to choose from until the postal code was validated via AJAX. It seemed to work quite well not hiding anything.

However, between the two options that you mentioned, I would go with the first one. That one is closest to what has worked for me.


i'd say try to implement something like predictive search which takes both, city an zip field, as search params.

for example you've typed your zip code, click (or tab) to the city field, you get a list of cities where this postal code applies.

but don't force the user to take one of the entries in the list.

with that you can auto-populate your database if the user's city isn't already in it.

that's something i'd like to have :)


Addresses are usually "value objects" meaning they are read only to an entity (such as a customer), which means you should probably let them pick out an existing address or create a new address.

That said, this also depends on your target audience. Are they good at entering addresses? For example, I always throw up a pop-up control for dates so there isn't a chance they would pick an invalid date.

You could look at how Navigation systems work. They always ask for a destination. Mine does an auto complete on the street first, then house number, then city / zip. Just look at the more popular units.


just disable the extra fields while they fill in their lookup information. You AJAX calls shouldn't be that slow. If they are then you have some serious problems to address other than this.

But you are on the right path.


I would start by having them enter just the Postal Code, and I'd probably submit the form and return two different forms depending on whether or not you have the available data in your database.

One word of warning: people can get extremely sensitive about vanity addresses. Your database probably says that 94027 is Redwood Shores, CA, but if you tell someone who thinks that he live in Atherton that he lives in Redwood City, he's going to get pissed. Sometimes, it is better not to do extra work when people are entering address information.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号