问题描述
页面有一个checkboxlist。比如:<s:checkboxlistlistKey="key"listValue="value"list="#{'0':'张三','1':'李四,'2':'王二','3':'麻子'}"name="users"/>后台处理的action叫Demo.action,在action中接收users的变量定义为:String[]users。现在写Demo的验证文件Demo-validation.xml。请问在这个验证文件中如何写对users的验证?我是这样写的,但不正确........<fieldname="users"><field-validatortype="requiredstring"><message>请选择用户</message></field-validator></field>........在field-validator中的type应该怎样写?望高人指点一下,在线等待
解决方案
解决方案二:
<field-validatortype="required">
解决方案三:
<field-validatortype="required">
解决方案四:
使用<field-validatortype="required">也不行,我在action中接收users的时候是定义的是List。这样写的:List<Integer>users;是不是和这个list有关系?必须用数组?
解决方案五:
users属性在Action定义String类型即可。privateStringusers;users有get/set方法。在用<field-validatortype="required">
解决方案六:
<fieldname="users"><field-validatortype="required"><message>请选择用户</message></field-validator></field>requiedstring只能获取字符串required可以获得intdatelist
解决方案七:
<validatortype="expression"><paramname="expression"><![CDATA[(users!=null&&users.size()>0)]]></param><message>..........</message></validator>
解决方案八:
经调试结论:1。users属性定义:users属性在Action定义String类型即可。privateStringusers;users有get/set方法。2。使用校验器使用<field-validatortype="required">或<field-validatortype="requiredstring">注:这个根据你用的struts2的版本而定,struts2.1.8.1用requiredstring。
解决方案九:
validation.xml的命名规则和放置路径:文件名:-validation.xml就是要验证的Action类的名字。要将此文件放于Class文件相同的目录。如果在Action类在struts配置中有多个action实例(actionname),那么对应某个action的验证文件名规则如下:文件名:--validation.xml例如:UserAction-login-validation.xml(注意:上面的并不是methodname,而是struts.xml中配置的action的name)validation.xml的内容示例:<?xmlversion="1.0"encoding="UTF-8"?>true请填写用户名432用户名长度应在4到32个字符间请填写密码632为了您账号的安全,请设置6个字母以上的密码(最长可设置32个字母)Struts2的验证规则大概有以下数种:required:必填校验器requiredstring:必填字符串校验器int:整数校验器double:双精度浮点数校验器date:日期校验器expression:表达式校验器fieldexpression:字段表达式校验器email:电子邮件校验器url:网址校验器visitor:Visitor校验器conversion:转换校验器stringlength:字符串长度校验器regex:正则表达式校验器具体的使用方法可以GOOGLE,下面举例几种常用的验证规则:常用的验证规则:1。必填检验指定检验失败的提示信息2。必填字符串检验true指定检验失败的提示信息3。整数检验器/浮点检验1150年纪必须在1到150之间4。日期检验1900-01-012050-02-215.字段表达式检验器(要求指定字段满足一个逻辑表达式)(passeqre_pass)密码必须和确认密码相等6.邮件地址校验你的电子邮件地址必须是一个有效的电邮地址7。网址检验你的主页地址必须是一个有效的网址8.字符串长度检验420你的用户名长度必须在4到20之间9.正则表达式检验<![CDATA[(w{4,25})]]>您输入的用户名只能是字母和数组,且长度必须在4到25之间引用来自:http://hi.baidu.com/cnkarl/blog/item/389d5a176c9e2412962b43a5.html我和楼主遇到同样的问题,但是没有找到答案。贡献上面这篇最有意义的吧。另外建议直接在action里写验证,我正准备这样做。