FEATURE: Add validation to admin email prompt in discourse-setup (#514)
[discourse_docker.git] / discourse-setup
index ec1adaffbd3d4334ca972fb7b4b6d26c3767423a..b4472a6b4838a8e7d7f8e980d782126ad60cf87e 100755 (executable)
@@ -383,11 +383,25 @@ ask_user_for_config() {
 
     if [ ! -z "$developer_emails" ]
     then
-      read -p "Email address for admin account(s)? [$developer_emails]: " new_value
-      if [ ! -z "$new_value" ]
-      then
-          developer_emails="$new_value"
-      fi
+      local email_valid="n"
+      until [ "$email_valid" == "y" ]
+      do
+        read -p "Email address for admin account(s)? [$developer_emails]: " new_value
+        if [ ! -z "$new_value" ]
+        then
+          if [[ ${#new_value} -ge 7 && $new_value == *@* ]]
+          then
+            developer_emails="$new_value"
+            email_valid="y"
+          else
+            echo
+            echo "[Error] Invalid email address"
+            echo
+          fi
+        else
+          email_valid="y"
+        fi
+      done
     fi
 
     if [ ! -z "$smtp_address" ]