2016-06-13 3 views
-3

Я сделал форму только с текстовым полем, поэтому хочу, чтобы форма проверялась только в том случае, если сообщение имеет действующее письмо внутри текстового поля, Но если я использую FILTER_VALIDATE_EMAIL, он позволяет использовать только электронную почту, без места или сообщение.Validating email in textarea

Как я могу это исправить?

Мой код:

<form action="contact.php" method="post"> 
 
     <p> 
 
     <textarea rows="1" style="height:1em;" id="text" autofocus>Hello my name is M2PV,&#13;&#10;</textarea> 
 
    \t \t </p> 
 
     <p> 
 
     <input value="send" type="submit" id="send"> 
 
    \t \t </p> 
 
    </form>

$('form').submit(function(){ 
 
\t message = $(this).find('#text').val(); 
 
\t 
 
\t $.post('contact.php',{ 
 
\t message:message 
 
}, function(data){ 
 
\t if(data.error=='ok'){ 
 
\t \t alert('formulaire ok'); 
 
\t }else{ 
 
\t \t alert('email invalid'); 
 
\t } 
 
},"json"); 
 
\t return false; 
 
}); 
 
\t });
<?php 
 
\t $e= array(); 
 
\t $e['error'] = "Entrez votre email"; 
 
\t if(!filter_var($_POST['message'], FILTER_VALIDATE_EMAIL)){ 
 
\t \t $e['email_invalid'] = "email_invalid"; 
 
\t }else{ 
 
\t \t $e['error'] = 'ok'; 
 
\t \t $message = $_POST['message']; 
 
\t 
 
\t $to = '[email protected]'; 
 
\t $sujet = ' Contact site '; 
 
\t $msg = $message; 
 
\t //mail($to, $sujet, $msg); 
 
\t 
 
\t } 
 
\t 
 
\t echo json_encode($e) 
 
?>

+1

как насчет разбора всех адресов и проверки их? –

+3

Остановите, выделите поле электронной почты из поля сообщения, знаете, похоже на то, как все это делают. – Dale

+1

Чтобы играть в адвокатов дьявола ... что произойдет, если сообщение содержит три адреса электронной почты? – Dale

ответ

0

Мое предложение разобрать все адреса электронной почты и проверять их

HERE вы можете найти вдохновение для разбора нескольких адресов электронной почты и поместить их в массив. После этого вы можете выполнить итерацию по массиву и проверить их