Validate multiple email addresses separated by a comma

lbless1
Giga Expert

This code is not validating any email addresses after the first one. Any help would be appreciated!

function onChange(control, oldValue, newValue, isLoading, isTemplate){

  var err_field = control.id;

  var err_flag = 'false';

  var err_message = 'Invalid Email Address format. Format should be like: abc@domain.com';

   

  var group_members = g_form.getValue('str1');

  var member_split = group_members.split(',');

  for (var n = 0; n < member_split.length; n++) {

  var member_info = member_split[n];

  regex = /[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/ig;

  err_flag = regex.test(g_form.getValue(err_field));

  g_form.hideErrorBox(err_field);

  if (!err_flag) {

    g_form.hideFieldMsg('req_inbox');

  g_form.showFieldMsg(err_field, err_message, 'error');

  }

  else {

  g_form.hideErrorBox(err_field);

  }

}

}

1 ACCEPTED SOLUTION

Abhinay Erra
Giga Sage

Here you go. Use this script



function onChange(control, oldValue, newValue, isLoading, isTemplate){


  var err_field = control.id;


  var err_flag = true;


  var err_message = 'Invalid Email Address format. Format should be like: abc@domain.com';


  g_form.hideErrorBox(err_field);


  var group_members = g_form.getValue('str1');


  var member_split = group_members.split(',');


  for (var n = 0; n < member_split.length; n++) {


  var member_info = member_split[n].trim();


  regex = /[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/ig;


  err_flag = regex.test(member_info);


  if (!err_flag) {


  break;


  }


  }


  if(!err_flag){


  g_form.hideFieldMsg('req_inbox');


  g_form.showFieldMsg(err_field, err_message, 'error');


  }


  else{


  g_form.hideErrorBox(err_field);


  }


}


View solution in original post

14 REPLIES 14

You can use trim() for that


Abhinay Erra
Giga Sage

Here you go. Use this script



function onChange(control, oldValue, newValue, isLoading, isTemplate){


  var err_field = control.id;


  var err_flag = true;


  var err_message = 'Invalid Email Address format. Format should be like: abc@domain.com';


  g_form.hideErrorBox(err_field);


  var group_members = g_form.getValue('str1');


  var member_split = group_members.split(',');


  for (var n = 0; n < member_split.length; n++) {


  var member_info = member_split[n].trim();


  regex = /[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/ig;


  err_flag = regex.test(member_info);


  if (!err_flag) {


  break;


  }


  }


  if(!err_flag){


  g_form.hideFieldMsg('req_inbox');


  g_form.showFieldMsg(err_field, err_message, 'error');


  }


  else{


  g_form.hideErrorBox(err_field);


  }


}


Still does not validate after the first in the series. Plus, leaves the error message even is the first in series is correct.


It works for me.


I have tested this and this works fine for me. Make sure your filed name is 'str1'. Post your code here. Did you copy my code as is?