【问题标题】:Java server side validation?Java服务器端验证?
【发布时间】:2016-04-12 03:58:41
【问题描述】:

我不明白为什么我的服务器端不工作。我们刚刚开始学习 jsp,我们并没有深入研究 servlet,所以只是 java 代码(当然还有 html 和 javascript)。我必须验证是否所有营地都已满员。

HTML:

<form method="post" action="server.jsp">

Name: <input type="text" value="" name="name" size="30">
Surname: <input type="text" value="" name="surname">
Age: <select name="age" size="1">
                        <option value="selectcard">---</option>
                        <% int i; for (i = 16; i <=80; i++){
                        out.print("<option>" + i + "</option>");
                        }
                        %>
                        </select>
How did you know about us?
                        <br><input type="radio" value="a friend"     name="know_us">a friend
                        <br><input type="radio" value="a teacher" name="know_us">a teacher
                        <br><input type="radio" value="the board" name="know_us">the board
                        <br><input type="radio" value="on internet" name="know_us">on internet
                        <br><input type="radio" value="other" name="know_us">other (specify) <input type="text" value="" name="know_us">

<input type="submit" name="submit" id="submit" value="submit">
<input type="reset" name="reset" id="reset" value="clear">
</form>

服务器端:

<%
    String name = request.getParameter("name");
    String surname = request.getParameter("surname");
    String age = request.getParameter("age");
    String know_us = request.getParameter("know_us");

if (name == null){
    out.print("<span style='color: red;'>There was an error</span>");
}else if(surname == null){
    out.print("<span style='color: red;'>There was an error</span>");
}else if(age.equals("selectcard")){
    out.print("<span style='color: red;'>There was an error</span>");
}else if(know_us == null){
    out.print("<span style='color: red;'>There was an error</span>");
}else{
    out.print("<h1 style='color: #666; text-align: center;'>Success!</h1>");
}
%>

我的 javascript 正在运行,所以我没有在此处包含它。每当我不填写字段时,它不会给我任何错误?它只显示“成功”。请帮忙,我很沮丧! D:

【问题讨论】:

  • 你还需要check if the string is empty,而不仅仅是null
  • 您打印到的out 对象是什么?它是否反映(打印)在页面上?如果是这样,页面上的哪个位置?
  • @MikeC 谢谢迈克,这很有帮助......我完全忘记了

标签: javascript java html forms jsp


【解决方案1】:

也尝试寻找一个空字符串。

if (name == null || name.isEmpty())

【讨论】:

  • 你从哪里得到 tr?这意味着什么?和 isEmpty()?
  • 如果您的参数已发布但为空,则它不会为空,而是一个空字符串。空字符串“”不等于 null。在您的情况下,如果您发布了一个空字符串,它将进入您的 Sucess 行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
  • 2019-12-22
  • 1970-01-01
相关资源
最近更新 更多