从php

时间:2017-06-17 08:13:06

标签: php jquery html forms validation

我试图通过使用jQuery和php来验证我的表单。我想要实现的是在后台将我的表单输入传递给process.php,检查输入是否通过我的验证码,然后返回true或false返回到我的jQuery checkForm()函数..到目前为止,下面的代码现在正在工作..

function checkForm() {
  jQuery.ajax({
    url: "process.php",
    data: {
      reguser: $("#reguser").val(),
      regpass: $("#regpass").val(),
      regpass2: $("#regpass2").val(),
      regemail: $("#regemail").val()
    },
    type: "POST",
    success: function(data) {}
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<form action="register.php" method="post" onSubmit="return checkForm()">

1 个答案:

答案 0 :(得分:0)

发送php中的所有输入以验证所有数据。

function checkForm() {
  $.ajax({
    url : "process.php",
    type: "POST",
    data: $('#yourForm').serialize(),
    dataType: "JSON",
    success: function(data)
    {
      if(data.status)
      {
        alert("Success"); 
      }
      else
      {
        for (var i = 0; i < data.inputerror.length; i++) 
        {
          alert(data.inputerror[i] + "|" +  data.error_string[i]);
        }
      }
    }
  });
};

验证您通过Ajax发送的数据。

  public function process()
  {
    $this->_validate_all_data();
    echo json_encode(array("status" => true));
  }

  private function _validate_all_data()
  {
    $data = array();
    $data['error_string'] = array();
    $data['inputerror'] = array();
    $data['status'] = true;

    if(empty($POST['reguser']))
    {
      $data['inputerror'][] = 'reguser'; // input name
      $data['error_string'][] = 'Reguser is required'; // message for validation
      $data['status'] = false;
    }

    if($data['status'] === false)
    {
      echo json_encode($data);
      exit();
    }
  }