我创建了一个只有textarea的表单,所以我希望只有当消息在textarea中有有效的电子邮件时才能验证表单,
但如果我使用FILTER_VALIDATE_EMAIL
,它只允许发送电子邮件,没有空格或信息。
我该如何解决?
我的代码:
<form action="contact.php" method="post">
<p>
<textarea rows="1" style="height:1em;" id="text" autofocus>Hello my name is M2PV, </textarea>
</p>
<p>
<input value="send" type="submit" id="send">
</p>
</form>
$('form').submit(function(){
message = $(this).find('#text').val();
$.post('contact.php',{
message:message
}, function(data){
if(data.error=='ok'){
alert('formulaire ok');
}else{
alert('email invalid');
}
},"json");
return false;
});
});
<?php
$e= array();
$e['error'] = "Entrez votre email";
if(!filter_var($_POST['message'], FILTER_VALIDATE_EMAIL)){
$e['email_invalid'] = "email_invalid";
}else{
$e['error'] = 'ok';
$message = $_POST['message'];
$to = 'xxxx@xx.com';
$sujet = ' Contact site ';
$msg = $message;
//mail($to, $sujet, $msg);
}
echo json_encode($e)
?>