0

在我的表单中,我有一个输入类型为“电子邮件”的列表项。
问题是每当我没有在输入框中输入有效的电子邮件地址时,就会出现一个弹出窗口,说“请输入电子邮件地址”。所以我的问题是如何删除这个弹出窗口并应用我自己的验证?我尝试将 novalidate = "novalidate" 放入表单中,并删除了弹出窗口,但我认为这会影响我的“if 语句”,因为它无法验证电子邮件地址。除了我在下面的代码中编写的那个之外,我所有的其他“if 语句”都在工作。这是我的代码的简单布局:

<form action ="" novalidate="novalidate" method="post">
    <ul>
        <li>
            <input type="email" name="email">
        </li>
    </ul>
</form>

<?php
    if (empty($errors) === true) {
        if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
            $errors[] = 'A valid email address is required.';
        }
?>
4

1 回答 1

0

该语句仅在输入有效的电子邮件if()时才会执行。您需要反转语句中的逻辑,同时还要将参数保留在:novalidate<form>

<form action="" novalidate="novalidate" method="post">
    <ul>
        <li>
            <input type="email" name="email">
        </li>
    </ul>
</form>

你的 PHP 应该是这样的:

<?php
if(empty($errors) === true) 
{
    if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) 
    {
        $errors[] = 'A valid email address is required.';
    }
}
?>
于 2013-01-06T17:20:08.973 回答