We had a report from a client reporting issues with customers who were trying to register from Norway. The form itself is powered by a basic AngularJS application with a few different AJAX calls to an endpoint looking for details based on the country chosen.
Originally, we had expected to find bad data or bad logic on our back-end BUT as it turns out, AngularJS's ng-show/ng-hide has it's own "falsey" checks in place. Certain values like "N" and "NO" cause expressions to evaluate as false and Norway's country code just happens to be NO..!
See the Pen OPgvLR.
How did we fix it? Rather than looking at the value being available in an ng-show, we moved over to looking for data availability. e.g. ng-show="selection.iso" became ng-show="cities.length>0". Many ways around it - that's ours.