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

struts2如何验证文本框大于0但不等于0,第1张

用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就可以了。

private File imgFile //这个是控件的name,皮友镇你自己命名

private String imgFileFileName  //这个是文件名,Struts2会自动处理,按照Struts2约定命名即可

private String imgFileContentType //这个是文件类型,如 image/jpg,按照Struts2约定命名即可

验证文件:

private boolean isImageFile() {  

        boolean isImage = false  

        String[] imgExts = {".gif", ".jpg", ".jpeg",".bmp", ".png"}  

        for(String ext : imgExts) {  

            if(imgFileFileName.toLowerCase().endsWith(ext)) {  

             燃粗   isImage = true  

         告局   }  

        }  

  

        return isImage  

    }

也可以直接在配置文件中拦截。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12244969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存