【问题标题】:Validate HTML5 Numeric Input Before Sending up to Server在发送到服务器之前验证 HTML5 数字输入
【发布时间】:2013-02-13 06:09:39
【问题描述】:

我正在编写一个基于 Web 的应用程序来进行计算。我不想让用户在 JSP 上填写表单,然后在另一个 JSP 上获取结果,而是希望有一个使用 HTML5 的 HTML 页面来询问用户输入数字,然后在 JSP 上显示计算的输出。是否有任何服务器端方法来验证用户只输入了数字信息?到目前为止,我使用了 3 个 HTML5 输入框,例如: <input type="number" name="width" min=".1" step=".1" max="500">

如果用户输入低于最小值或超过最大值的数字输入,它似乎唯一的验证是捕获。如果没有输入,它仍然会发送。我希望它不让您发送数据,除非所有 3 个框都有效。我知道你可以简单地使用 JavaScript,但它是一个 JSP 类,所以如果我使用 HTML 或 JSP 以外的任何东西,我的导师不会喜欢。提前致谢。

编辑

这是他们将收到提示的页面:

<form method="get" action="carpetprice.jsp"> Width of room in feet: <input type="number" name="width" min=".1" step=".1" max="500"><br /> Length of room in feet: <input type="number" name="length" min=".1" step=".1" max="500"><br /> Price of carpet per square foot: <input type="number" name="width" min=".1" step=".1" max="500"><br /> <input type="submit" value="Compute Carpet Price"> </form>

在完全验证之前,我不希望它向“carpetprice”发送任何数据。

【问题讨论】:

  • 由于 JSP 在服务器上,如果使用它完成验证,则数据必须已经发送到服务器。现在你到底想验证什么,在什么意义上?您是否想要一个整数并允许空白?
  • 是的。就像我的最小值和最大值一样,我只想要 0.1 - 500 之间的值。其他任何我不想发送到服务器的东西。

标签: html validation jsp input numeric


【解决方案1】:

在你有你需要的表单的页面上实际上需要一个&lt;form&gt; 标签。您应该显示您使用的所有代码。这是一个例子:

<form method="POST" action="check.jsp">
<input type="number" name="width" min=".1" step=".1" max="500" name="someMeaningfulName" />
<input type="submit" />
</form>

然后在 check.jsp 你会有类似的东西

<%
String toBeValidated = request.getParameter("someMeaningfulName");
//rest of the validation process here
%>

使用 if 语句检查整数是否在一定范围内。如果验证失败,你没有说你想要发生什么。用户是否被重定向回带有表单的页面?

【讨论】:

  • 那将是一个服务器,对吧?我想知道是否可以仅使用 HTML 来验证它。抱歉,如果我没有指定。我可能只需要在 JSP 中执行此操作。
  • 我认为不可能。
  • 谢谢,我一直在研究它,但我认为也不是。我希望得到一个明确的答案。
  • 是的,JSP 是在服务器上执行的,所以不可能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-12
  • 2011-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多