如何使用引导警报处理PHP表单验证错误?

rdrgkggo  于 2023-01-08  发布在  PHP
关注(0)|答案(1)|浏览(132)

我正在使用PHP开发一个webapp,我有一个表单,用户可以在其中创建一个帐户。所以我有一些服务器端验证,比如密码是否为8个字符或更多。我所需要的是,我希望通过引导警报显示从PHP返回的错误消息。例如,用户输入了一个无效的密码,比如它是6个字符而不是8个字符。我希望它返回如下错误:I want this alert box to show up
这里我有两个页面。register-action.phpfooter.phpregister-action.php中我有我的PHP来验证用户输入数据的表单。在footer.php中我有我的表单,实际上是一个引导模式(如上图所示)。
下面是register-action.php中验证密码的if条件:

$uppercase = preg_match('@[A-Z]@', $password1);
  $lowercase = preg_match('@[a-z]@', $password1);
  $number    = preg_match('@[0-9]@', $password1);

  if(!$uppercase || !$lowercase || !$number || strlen($password1) < 8) {
    $passwordNotGood = "Your password is not satisfying the requirements";
    echo $passwordNotGood;
    exit();
  }

下面是footer.php中的引导警报:

<!-- This alert will show up if password requirements are not satisfied -->
            <div class="alert alert-danger" role="alert">
              <p>Your password should be more than 8 character and should container ....</p>
            </div>

我希望引导警报是隐藏的,除非错误是需要显示出来。所以,如果用户输入了一个短密码,我希望表单不提交和警报显示。
那么,当用户提交表单时,如何通过引导警报从PHP返回错误呢?
我试过用JS把PHP改成HTMLDOM,但是结果不是我想要的。

6mzjoqzu

6mzjoqzu1#

简短的回答是你需要在前端用javascript来解决这个问题。
你在php中的逻辑是好的,但是你的方法是行不通的。你可以在php中使用SESSION变量来做这个验证,但是在你的表单是一个弹出窗口的情况下,我认为这不是一个好方法。你有两个选择:- 通过javascript进行前端验证。-发出AJAX请求
我假设你还没有很丰富的经验,在网络环境,所以我建议你的第一个选择。
祝你好运!

相关问题