1

我正在编写一个基于 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”发送任何数据。

4

1 回答 1

1

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

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

于 2013-02-13T06:33:59.057 回答