提交表单之前验证用户输入

时间:2020-08-18 13:31:04

标签: javascript jsp

我有以下代码可验证输入:

u

这是我的表格:

<script>
        function validate()
        {
            var firstName = document.form.fullname.value;
            var lastName = document.form.fullname.value;
            var email = document.form.email.value;
            var password = document.form.password.value;
            var conpassword = document.form.conpassword.value;

            if (firstName == null || firstName == "")
            {
                alert("Firstname  can't be blank");
                return false;
            } else if (lastName == null || lastName == "")
            {
                alert("Lastname can't be blank");
                return false;
            } else if (email == null || email == "")
            {
                alert("Email can't be blank");
                return false;
            } else if (password.length < 6)
            {
                alert("Password must be at least 6 characters long.");
                return false;
            }
        }
    </script> 

如何在我的表单中实现该功能?因为现在单击“提交”时,在数据库中添加了一个空用户。我要补充一点,如果未正确填写,则会在每个字段中抛出一个错误

2 个答案:

答案 0 :(得分:1)

  1. 您可以通过在表单html标签中添加“ onsubmit”来执行validate函数(请参见此处,w3在提交时执行函数的学校:onsubmit in forms

  2. 对于错误,执行代码时,该函数无法读取未定义的属性“值”。所以发生的事情是,您要告诉validate函数从无法找到的表单中取出部分内容(未定义全名和密码)。

查看表单的字段名称标签,然后在validate函数中引用这些名称。因此,在声明firstName而不是document.form.fullname.value时,请尝试document.form.firstName.value形式的引用。使用表单中的名字和姓氏来执行此操作,还可以删除(或注释掉)conpassword变量。

答案 1 :(得分:0)

可以在没有javascript功能的情况下完成此验证。对于必需的输入,请使用“必需”标签。 例如:

<input type="text" name="firstName" class="form-field animation a3" placeholder="Name..." required>

如果输入密码,则可以使用pattern属性。

如果您需要特别使用javascript,请在​​按钮标签中进行onclick操作。

<button class="animation a6" onclick="validate()">REGISTER</button>

,并将表单提交包含在javascript函数中-

  document.form.submit();