2013-10-04 6 views
0

Перед отправкой формы мне нужна функция для проверки на @ и . символов.Перед отправкой отметьте значения электронной почты

Функция, отвечающая за проверку того, что значения вставляются:

// function ValidateAndSend 
function ValidateAndSend (event:MouseEvent):void { 

    // validate fields 
    if(!name_txt.length) { 
     status_txt.text = "Please enter your name"; 
    } else if (!email_txt.length) { 
     status_txt.text = "Please enter your e-mail address"; 
    } else if (!phone_txt.length) { 
     status_txt.text = "Please enter your phone number"; 
    } else { 

     // All is good, send the data now to PHP 

     // ready the variables in our form for sending 
     variables.userName = name_txt.text; 
     variables.userEmail = email_txt.text;  
     variables.userPhone = phone_txt.text; 
     variables.userShop = shopList.value; 

     // Send the data to PHP now 
     varLoader.load(varSend); 

    } // close else condition for error handling 

} // close validate and send function 

Я попытался создать отдельную функцию для проверки электронной почты символов:

// Checking e-mail 
function checkEmail():Boolean { 

    var reEmail:String = email_txt.text; 
    var emailOk:Boolean = false; 
    var checkArray1:Array = reEmail.split("@"); 
    if (checkArray1.length >1) { 

     var checkArray2:Array = checkArray1[1].split("."); 
     if (checkArray2.length >1) { 

      emailOk = true; 
     } 
    } 
    return emailOk; 
} 

, но это не работает. Как бы вы это достигли?

Обновление: Я попытался запустить функцию внутри функции ValidateAndSend. Но теперь, если адрес электронной почты ошибочен, он не отправит сообщение, но он все еще отображает успешное отправленное сообщение.

// function ValidateAndSend 
function ValidateAndSend (event:MouseEvent):void { 

// validate fields 
if(!name_txt.length) { 
    status_txt.text = "Please enter your name"; 
} else if (!email_txt.length) { 
    status_txt.text = "Please enter your e-mail"; 

    // Checking e-mail 
    function checkEmail():Boolean { 

    var reEmail:String = email_txt.text; 
    var emailOk:Boolean = false; 
    var checkArray1:Array = reEmail.split("@"); 
    if (checkArray1.length >1) { 

     status_txt.text = "Please check your e-mail address"; 

     var checkArray2:Array = checkArray1[1].split("."); 
     if (checkArray2.length >1) { 

      emailOk = true; 
     } 
    } 
    return emailOk; 
    } 

} else if (!phone_txt.length) { 
    status_txt.text = "Please enter your phone number"; 
} else { 

    // All is good, send the data now to PHP 

    // ready the variables in our form for sending 
    variables.userName = name_txt.text; 
    variables.userEmail = email_txt.text;  
    variables.userPhone = phone_txt.text; 
    variables.userShop = shopList.value; 

    // Send the data to PHP now 
    varLoader.load(varSend); 

} // close else condition for error handling 

} // close validate and send function 
+0

Функция для проверки электронной почты, кажется в порядке, но вы назвали его в 'ValidateAndSend()'? – Vesper

+0

Нет, как отдельная функция. – Laniakea

ответ

1

Для этого вам следует использовать регулярные выражения.

Ваш checkEmail() функция не будет необходимости

// function ValidateAndSend 
function ValidateAndSend (event:MouseEvent):void { 
    var emailCheckRegExp:RegExp = /^[\w.-][email protected]\w[\w.-]+\.[\w.-]*[a-z][a-z]$/i; 
    // validate fields 
    if(name_txt.length == 0) { 
     status_txt.text = "Please enter your name"; 
    } 
    else if (email_txt.length == 0) { 
     status_txt.text = "Please enter your e-mail address"; 
    } 
    else if (phone_txt.length == 0) { 
     status_txt.text = "Please enter your phone number"; 
    } 
    else if(emailCheckRegExp.exec(email_txt.text) == null) 
    { 
     status_txt.text = "Entered e-mail is not valid"; 
    } 
    else { 

     // All is good, send the data now to PHP 

     // ready the variables in our form for sending 
     variables.userName = name_txt.text; 
     variables.userEmail = email_txt.text;  
     variables.userPhone = phone_txt.text; 
     variables.userShop = shopList.value; 

     // Send the data to PHP now 
     varLoader.load(varSend); 

    } // close else condition for error handling 

} // close validate and send function 
+0

Я получаю 'Неявное принуждение значения типа fl.controls: TextInput к ошибке несвязанного типа String.'. – Laniakea

+0

omg, извините, забыли добавить .текст вашего текстового поля) Обновлено сейчас, проверьте его – KumoKairo

+0

Да, работает как следует. Большое спасибо за вашу помощь KumoKairo! +1 Вверх, приближаясь к вам. – Laniakea

Смежные вопросы