JSP表单输入maxlength不适用于数字类型

时间:2017-03-31 16:11:27

标签: java html validation jsp

我使用jsp <form:input>标记输入jsp表单上的数据。要求是限制输入字段的长度并且只能输入数字。

以下标记用于限制输入字符串的长度,但我可以在此处输入任何符号:

<form:input path="somePath" code="someCode" maxlength="3"/>

当我使用number类型时,maxlength属性不起作用且输入字段没有限制,但我仅限于数字:

<form:input path="somePath" code="someCode" maxlength="3" type="number"/>

有没有办法让输入字段限制为最大长度和数字?无法弄清楚为什么上述行无法正常工作。

2 个答案:

答案 0 :(得分:1)

感谢HTML5的回复here,我可以通过以下方式在JSP页面上解决此问题:

<form:input maxlength="3" type="text" onkeypress='return event.charCode >= 48 && event.charCode <= 57'/>

number类型开始 - <form:input>标记支持它,但是无法限制它的长度。

答案 1 :(得分:0)

Spring <form:input />标记没有任何名为type的属性,代码中使用的type = number属于html5输入标记

我能想到的最好方法是使用Javascript进行验证。

Spring form tld列出了form的有效属性:input element here