Php 提交表单前如何验证电子邮件字段不为空

Php 提交表单前如何验证电子邮件字段不为空,php,jquery,html,forms,validation,Php,Jquery,Html,Forms,Validation,更新问题: 我在所有字段中都添加了“必填”,但如果 first@second用作电子邮件。即使错过了.com(或其他什么),它也会提交 我如何将此验证也合并到一起 谢谢 原始问题: 我的网站有一个注册表单,只有一个电子邮件字段。目前已有验证程序验证输入的电子邮件的正确语法,但如果字段留空,则表单将提交。在提交之前,我需要验证该字段是否为空。如果为空,则会显示一些消息-与显示的消息类似,例如,没有包含@符号 我的演示页面是 表格html: <div class='form animated

更新问题:

我在所有字段中都添加了“必填”,但如果

first@second用作电子邮件。即使错过了.com(或其他什么),它也会提交

我如何将此验证也合并到一起

谢谢

原始问题:

我的网站有一个注册表单,只有一个电子邮件字段。目前已有验证程序验证输入的电子邮件的正确语法,但如果字段留空,则表单将提交。在提交之前,我需要验证该字段是否为空。如果为空,则会显示一些消息-与显示的消息类似,例如,没有包含@符号

我的演示页面是

表格html:

 <div class='form animated flipInX'>
  <h2>Sign Up</h2>
<form action="http://mydomain.us10.list-manage.com/subscribe/post" method="POST">
<input type="hidden" name="u" value="a324dfsf32erwdafdaf3dfsdsdf">
<input type="hidden" name="id" value="32df32rff2">

 <input type="email" name="MERGE0" id="MERGE0" placeholder="Your Email Address" class="boxfield">

    <button class='animated infinite pulse'>Let's Go!</button>
  </form>
</div>

注册
走吧!

有什么建议吗?谢谢

您可以在输入标签中添加
必需的属性。


<input type="email" name="MERGE0" id="MERGE0" placeholder="Your Email Address" class="boxfield" required="true">

幸运的是,在输入标记中添加
required
属性非常简单,在输入标记中使用
required

必需的属性是布尔属性

当存在时,它指定在提交表单之前必须填写输入字段

所以你的输入应该是

<input type="email" name="MERGE0" id="MERGE0" placeholder="Your Email Address" class="boxfield" required>

根据您更新的问题,这里是答案

请检查此解决方案,我使用jquery检查它是否为空或已填充

<div class='form animated flipInX'>
<h2>Sign Up</h2>
<form action="http://mydomain.us10.list-manage.com/subscribe/post"  method="POST">
<input type="hidden" name="u" value="a324dfsf32erwdafdaf3dfsdsdf">
<input type="hidden" name="id" value="32df32rff2">
<input type="email" name="MERGE0" id="MERGE0" placeholder="Your Email Address" class="boxfield">
<button class='animated infinite pulse' type="submit" onClick="checkval();">Let's Go!</button>
 </form>
</div>
 <script>
  function checkval()
  {
     var email_val=$("#MERGE0").val();
     if(email_val.length>2) 
     {
     }
     else
     {
        alert("email is required.");/*there you change show the value which you want to show as a error message.*/
         event.preventDefault();
         /* this help to stop submit form*/ 
     }

   }
   </script>

注册
走吧!
函数checkval()
{
var email_val=$(“#MERGE0”).val();
如果(电子邮件长度>2)
{
}
其他的
{
警报(“需要电子邮件”);/*在此处您可以更改并显示要显示为错误消息的值*/
event.preventDefault();
/*这有助于停止提交表单*/
}
}

希望这能帮助您

我不知道您的问题是否得到了回答,但请尝试以下方法:

//The Input
<input type='email' id='email' placeholder='email' onchange='emailCheck()'>
//The Button
<button id='button' style='visibility:hidden'>Submit</button>
//Javascript
<script>
var input = document.getElementById('email').value;
if(input.indexOf("@") > -1){

if(input.indexOf(".com") >= input.length - 4){
document.getElementById('button').style.visibility = 'visible';
}else{
alert('Custom Invalid Email Alert');
}

}else{
alert('Custom Invalid Email Alert');
}
</script>
//输入
//按钮
提交
//Javascript
var input=document.getElementById('email')。值;
if(input.indexOf(“@”)>-1){
if(input.indexOf(“.com”)>=input.length-4){
document.getElementById('button')。style.visibility='visible';
}否则{
警报(“自定义无效电子邮件警报”);
}
}否则{
警报(“自定义无效电子邮件警报”);
}

required是最佳选项,或者您可以使用java脚本

像这样

    <script type="text/javascript">
          function validateForm()
        {
          var a=document.forms["Form"]["answer_a"].value;
        var b=document.forms["Form"]["answer_b"].value;
       var c=document.forms["Form"]["answer_c"].value;
        var d=document.forms["Form"]["answer_d"].value;
                   if (a==null || a=="",b==null || b=="",c==null || c=="",d==null             || d=="")
         {
           alert("Please Fill All Required Field");
          return false;
           }
        }
        </script>

          <form method="post" name="Form" onsubmit="return         validateForm()" action="">
           <textarea cols="30" rows="2" name="answer_a" id="a"></textarea>
             <textarea cols="30" rows="2" name="answer_b" id="b"></textarea>
           <textarea cols="30" rows="2" name="answer_c" id="c"></textarea>
           <textarea cols="30" rows="2" name="answer_d" id="d"></textarea>
      </form>

函数validateForm()
{
var a=document.forms[“Form”][“answer_a”]值;
var b=document.forms[“Form”][“answer_b”]值;
var c=document.forms[“Form”][“answer_c”]值;
var d=document.forms[“Form”][“answer\u d”].value;
如果(a==null | | a==“”,b==null | | b==“”,c==null | | c==“”,d==null | | d==“”)
{
警告(“请填写所有必填字段”);
返回false;
}
}

如果验证失败或
''
,则返回false?谢谢你,尼克。使用所需的工作完美,但表格仍将提交,如果'first@second'用作电子邮件,基本上缺少.com。我如何将此验证也纳入其中?(更新了我的问题)谢谢你的反馈。必要的工作很好,但我已经更新了我的问题,因为表格仍将提交,如果'first@second'用作电子邮件,基本上缺少.com。我如何将此验证也纳入其中?非常有效!谢谢lot@Nova:很高兴帮忙!您正在检查正在键入的文本的长度吗?是的,它在HTML5中检查它不是空白。当我们输入空白时,它不起作用。所以,如果我输入<代码> XYZ < /代码>,它会认为它像电子邮件吗?
    <script type="text/javascript">
          function validateForm()
        {
          var a=document.forms["Form"]["answer_a"].value;
        var b=document.forms["Form"]["answer_b"].value;
       var c=document.forms["Form"]["answer_c"].value;
        var d=document.forms["Form"]["answer_d"].value;
                   if (a==null || a=="",b==null || b=="",c==null || c=="",d==null             || d=="")
         {
           alert("Please Fill All Required Field");
          return false;
           }
        }
        </script>

          <form method="post" name="Form" onsubmit="return         validateForm()" action="">
           <textarea cols="30" rows="2" name="answer_a" id="a"></textarea>
             <textarea cols="30" rows="2" name="answer_b" id="b"></textarea>
           <textarea cols="30" rows="2" name="answer_c" id="c"></textarea>
           <textarea cols="30" rows="2" name="answer_d" id="d"></textarea>
      </form>