The system requires an input for the postal code for all users, however the system does not require the postal code for foreign users, and some foreign users do not have a postal code. What is the best way to message the user that has no postal code to enter something. A personalized solution seems ideal, but is not available at this time.
What is the best way to message the user that has no postal code to enter something?
A required field does this naturally. I'm from a country that does not have postal codes and I usually encounter this field on websites. I don't recall ever being instructed to enter NA if I don't have a postal code. But that's what I typically enter and it is usually accepted.
You can't ask users to make up some gibberish postal code, that will translate into a very confusing flow and really bad UX. Instead, you should ask postal code only to users that have it. To do this, ask for country first, then show that field in a conditional mode:
if $countryWithPostalCode --> show field else --> do not show field
And then, if you really need that field filled (can't imagine why, since it will be gibberish, but still), you can use the same condition to fill the field internally in your back end. Like this:
if $countryWithPostalCode = true --> do nothing else --> fill with whatever fake code
Just in case, you can grab a list of countries with no postal codes and build the conditional view from this list.
Additionally, you could simply omit the Postal Code requirement altogether, and simply use a Postal Code API in your back-end (there are many, just do a Google search). This way, you'll also lower human error and have more accurate data