Some more defensive coding in join element, avoiding notices.  To do
with empty labels and rebuilding the default labels array after failing
validation.