struts2如何验证文本框大于0但不等于0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2如何验证文本框大于0但不等于0相关的知识,希望对你有一定的参考价值。

因为文本框设为默认double类型,因此提交时如何判断文本框内的数大于并且不等于0,还有只能输入数字。

用Struts2的内置校验器比较快,有两种风格的写法,假设你的filed名字叫price:
校验文件的片段如下:
(1)
<!-- 双精度浮点数验证器 风格 -->
<validator type="double">
<param name="fieldName">price</param>
<param name="minExclusive">0.0</param>
<message>该值必须大于并且不等于0</message>
</validator>

(2)
<!-- 字段验证器 风格 -->
<field name="price">
<field-validator type="double">
<param name="minExclusive">0.0</param>
<message>该值必须大于并且不等于0</message>

</field-validator>
</field>

根据你校验整个Action类,还是Action类里的具体actionName,命名为ActionClassName-validation.xml中,而把只有某方法具有的校验放在各自的ActionClassName-actionName-validation.xml中,放到Action类目录下就可以了。

当然上面说得是Struts 2服务器端校验(只加JS校验不可行,因为可以禁用JS给绕过去)。

如果加js校验就比较简单了,可以限制输入框中只能输入数字和小数点(这可以用window.event.keyCode在keyPress事件里判断),最后用parseFloat(value)>0就可以了。
参考技术A 用js啊

如何有js正则来 验证 大于等于零,最多可以有两位的小数,且少于999.99

如题,

0 true
0.0 或者 0.00 false
1.00 true

999.99 true
1000 false
999 true
1 true

参考技术A ^(0(?!\.01,2$)(\.[0-9]1,2)?|[1-9][0-9]0,2(\.[0-9]1,2)?)$ 参考技术B ^0*[1-9][0-9]0,2(\.[0-9]1,2)?|0+(\.[1-9][0-9]0,1)|0+(\.0[1-9])|0$

以上是关于struts2如何验证文本框大于0但不等于0的主要内容,如果未能解决你的问题,请参考以下文章

asp.net怎么限制文本框输入的类型c#

js验证如何限制文本框只能输入数字

VBA:如何验证子表单中的绑定文本框

js验证如何限制文本框只能输入数字

文本框只能输入正整数(大于0的整数)代码

c#WINFORM中验证在文本框输入的只能是数字和字母,这个怎么做???