页面有一个checkboxlist。比如:<s:checkboxlist listKey="key"  listValue="value" 
list="#{'0':'张三', '1':'李四, '2':'王二', '3':'麻子 '}" name="users"  />后台处理的action叫Demo.action,在action中接收users的变量定义为:String[] users。现在写Demo的验证文件Demo-validation.xml。请问在这个验证文件中如何写对users的验证?我是这样写的,但不正确
........
<field name="users">
     <field-validator type="requiredstring">
     <message>请选择用户</message>
     </field-validator>
</field>
........
在field-validator中的type应该怎样写?望高人指点一下,在线等待

解决方案 »

  1.   

    <field-validator type="required"> 
      

  2.   

    <field-validator type="required"> 
      

  3.   

    使用<field-validator type="required"> 也不行,我在action中接收users的时候是定义的是List。这样写的:List<Integer> users;是不是和这个list有关系?必须用数组?
      

  4.   

    users属性在Action定义String类型即可。private String users;users有get/set方法。在用<field-validator type="required">
      

  5.   

    <field name="users">
      <field-validator type="required">
      <message>请选择用户</message>
      </field-validator>
    </field>
    requiedstring 只能获取字符串  
    required可以获得int date list  
      

  6.   

    <validator type="expression">
    <param name="expression"><![CDATA[(users!=null && users.size()>0)]]></param>
    <message>..........</message>
    </validator>
      

  7.   

    经调试结论:1。users属性定义:users属性在Action定义String类型即可。private String users;users有get/set方法。2。使用校验器使用<field-validator type="required">或<field-validator type="requiredstring">注:这个根据你用的struts2的版本而定,struts2.1.8.1用requiredstring。
      

  8.   

    validation.xml 的命名规则和放置路径: 文件名:-validation.xml 就是要验证的Action类的名字。要将此文件放于Class文件相同的目录。 如果在Action类在struts配置中有多个action实例(action name),那么对应某个action的验证文件名规则如下: 文件名:--validation.xml 例如:UserAction-login-validation.xml (注意:上面的并不是method name,而是struts.xml中配置的action的name) validation.xml 的内容示例: <?xml version="1.0" encoding="UTF-8"?> true 请填写用户名 4 32 用户名长度应在4到32个字符间 请填写密码 6 32 为了您账号的安全,请设置6个字母以上的密码(最长可设置32个字母) Struts2 的验证规则大概有以下数种: required:必填校验器 requiredstring:必填字符串校验器 int:整数校验器 double:双精度浮点数校验器 date:日期校验器 expression:表达式校验器 fieldexpression:字段表达式校验器 email:电子邮件校验器 url:网址校验器 visitor:Visitor校验器 conversion:转换校验器 stringlength:字符串长度校验器 regex:正则表达式校验器 具体的使用方法可以GOOGLE,下面举例几种常用的验证规则: 常用的验证规则: 1。必填检验 指定检验失败的提示信息 2。必填字符串检验 true 指定检验失败的提示信息 3。整数检验器/浮点检验 1 150 年纪必须在1到150之间 4。日期检验 1900-01-01 2050-02-21 5.字段表达式检验器(要求指定字段满足一个逻辑表达式) (pass eq re_pass) 密码必须和确认密码相等 6.邮件地址校验 你的电子邮件地址必须是一个有效的电邮地址 7。网址检验 你的主页地址必须是一个有效的网址 8.字符串长度检验 4 20 你的用户名长度必须在4到20之间 9.正则表达式检验 <![CDATA[(\w{4,25})]]> 您输入的用户名只能是字母和数组,且长度必须在4到25之间 引用来自:http://hi.baidu.com/cnkarl/blog/item/389d5a176c9e2412962b43a5.html我和楼主遇到同样 的问题,但是没有找到答案。贡献上面这篇最有意义的吧。另外建议直接在action里写验证,我正准备这样做。