2013-02-13 66 views
1

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

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

编辑

这里的网页,他们会得到提示:我不希望它发送任何数据到“carpetprice”,直到它已经被充分验证

<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>

+0

由于JSP位于服务器上,如果使用它进行验证,数据必须已经发送到服务器。现在你到底想要验证什么,在什么意义上?它是你想要一个整数并且允许空白吗? – Celeritas 2013-02-13 06:16:10

+0

是的。就像我的最小值和最大值一样,我只是喜欢在.1 - 500之间的值。还有其他我不想发送到服务器的值。 – 2013-02-13 06:18:48

回答

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 
%> 

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

+0

那么这将是一个服务器,对吧?我想知道是否可以用HTML来验证它。对不起,如果我没有指定。我可能只需要在JSP中执行此操作。 – 2013-02-13 06:38:00

+0

我不认为这是可能的。 – Celeritas 2013-02-13 08:56:25

+0

谢谢,我一直在研究它,我不认为它也是。我希望得到一个明确的答案。 – 2013-02-13 09:02:41