【发布时间】:2014-10-17 23:21:15
【问题描述】:
我目前正在开发一个网站(大学作业的一部分)
我只是进行了一些输入验证,虽然当我由于验证错误而重定向时,
例如:
var x = document.getElementById("age").checked;
var y = document.getElementById("agreement").checked;
var z = document.getElementById("sex").value;
if(x != true & y != true & z == null)
{
response.sendRedirect("Register.jsp");
}
我希望在表单上方显示某种错误消息,以告诉用户他们在表单中创建了错误。 (例如,如果他们没有输入他们的性别或不同意其中任何一个复选框)。另请注意,我将稍微更改验证代码以更具体地针对此人所犯的错误。
表格:
<h3>Register as user</h3>
<form method="POST" action="Register">
<ul>
<li>First Name: <input type="text" name ="firstName"></li>
<li>Last Name: <input type = "text" name = "lastName"></li>
<li>Email Address: <input type = "email" name = "email"></li>
<li>Gender: Male <input type ="radio" name ="sex" value="male">
Female <input type ="radio" name ="sex" value="female"></li>
<li>User Name <input type="text" name="username"></li>
<li>Password <input type="password" name="password"></li>
<li>You must be 12 or over to register to this web site. Please check if you are over 12: <input type = "checkbox" name="age"></li>
<li>Please check this box to agree to the Terms and Conditions <input type ="checkbox" name="agreement"></li>
</ul>
<br/>
<input type="submit" value="Register">
</form>
感谢您给我的任何帮助或建议,我非常感谢,因为我对 Web 开发还很陌生,我想改进和了解 Web 开发人员使用的技术。
【问题讨论】:
-
首先,我不会检查客户端的输入
-
我只检查 2 个复选框和单选按钮客户端的输入。我假设你的意思是我会把它和输入验证服务器端的其余部分放在一起?我是否正确地说将输入验证放在客户端会是一个安全问题?感谢您的意见
-
没错。用户可以编辑甚至完全禁用 Javascript。您的验证将在此处失败。你可以在两边都这样做,但那将是多余的代码
-
啊有趣。那我肯定会看看服务器端验证。我不认为您可以为该特定主题推荐一个好的资源?
-
@Naiyon 使用
php进行备份服务器端验证,但为了显示错误消息,我想说保留JavaScript,甚至使用jQuery。提示是将错误消息放在客户端验证的预定义 div 中