为什么不显示消息字段的验证错误

Why validation error for message field doesn't show

我正在使用服务器端验证为网站创建联系表单,验证适用于姓名和电子邮件,但不适用于消息字段。因此用户只需填写姓名和电子邮件字段即可发送消息。代码如下:

PHP

   <?php

if($_POST['submit']){
   if(!$_POST['name']){
      $error= "<br/>-Please enter your name" ;

}

     if(!$_POST['email']){
      $error.= "<br/>-Please enter your email" ;

   }

     if(!$_POST['message']){
      $error.= "<br/>-Please enter message" ;

   }

    if ($error){
      $result= "Whoops, error: $error";   

    }
   else{
       mail('mahdi.mashrafi@yahoo.com', "Contact message", "Name: ".$_POST['name']." Email: ".$_POST['email']."
        Email: ".$_POST['name']."
        Message : ".$_POST['message']);

        {
         $result= "Thankyou, Ill be in touch shortly";
        }
    }


}


?>

HTML

      <section id = "contact">
      <div class = "container">
          <div class = "row">
              <div class = "col-md-6 col-md-offset-3">
                  <h1>Contact Form</h1>
                  <?php echo $result; ?>
                  <p>Send a form a message via form below </p>
                  <form method = "post" role = "form">
                      <div class = "form-group">
                        <input type = "text" name = "name" class = "form-control" placeholer = "Your name" value = "<?php echo $_POST['name'];?>" >
                      </div>

                     <div class = "form-group">
                        <input type = "email" name = "email" class = "form-control" placeholer = "Your email" value ="<?php echo $_POST['email'];?>">
                    </div>

                    <div class = "form-group">
                        <textarea name = "message" rows = "5" class = "form-control" placeholder = "message"><?php echo $_POST['message']; ?> </textarea>
                    </div>

                      <input type = "submit" name = "submit" class = "btn btn-secondary" value = "send message"/> 
                  </form>

              </div>

          </div >


      </div>
  </section>

如何在发送详细信息之前将消息字段设置为必填项。

如果您查看 textarea 行,则会在 post 变量之后添加一个额外的 space。删除 space:

<textarea name = "message" rows = "5" class = "form-control" placeholder = "message"><?php echo $_POST['message']; ?></textarea>

尝试一下我认为这应该可行..

if (trim($_POST['message']) == "")
{
   $error.= "<br/>-Please enter message";
}