public class UserAction extends ActionSupport{
       private String userName;
       private String password
       public void validate() {
              if(userName ==null || userName.trim().equals("")){
                     // this.addFieldError("userName", this.getText("error.login.username.null"));  
                      //从配置文件得到数据
              }
      }
}以上应该就是struts2的框架验证了,可是我不知道所谓的错误信息error.login.username.null是应该写在什么配置文件中的,
我想知道要达到以上所写的功能该如何去改写配置文件!
我还想知道xwork框架中的验证该如何写,如何配置?
先谢谢诸位了!

解决方案 »

  1.   

    XXXX_zh_CN.properties文件中error.login.username.null=xxxx只是一个空验证在action类的同级目录写如下文件UserAction -validation.xml
    文件内容<!DOCTYPE validators PUBLIC
            "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
            "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
    <validators>
        <field name="userName">
            <field-validator type="requiredstring">
                <param name="trim">true</param>
                <message key="error.login.username.null"></message>
            </field-validator>
        </field>
     
     </validators>
      

  2.   

    这个地方error.login.username.null=xxxx 应该定义的是unicode
      

  3.   

    还有一个问题咯,就是我在用框架验证的时候用requiredstring的时候没问题,它会拦截住空字符串的,可是我验证int的时候就不会被拦截住了,无论输入什么都照样通过的
      

  4.   

    多看资料,requiredstring 当然验证字符了。    
    <field name="salary.orgId">
            <field-validator type="fieldexpression">
                <param name="expression">
                  salary.orgId > 0
                </param>
                <message key="HUMSG003"></message>
            </field-validator>
        </field>
       <field name="salary.rq">
            <field-validator type="required">
                <message key="HSMSG001"></message>
            </field-validator>      
        </field>
      

  5.   

    我记得struts2的验证可以重写方法,也可以配置文件
    lz用的应该是重写了validate()方法,按照你的写法需要一个UserAction_zh_CN.properties文件,里面就是你要通过方法getText()得到的信息;
    也可以不重写方法,直接配置UserAction -validation.xml这么文件,里面的内容根据自己的需求配!
      

  6.   

    其实struts2的验证框架用的很少(自己感觉),我就是学的时间练习过,现在做东西都没用过,都是自己写js验证的!
      

  7.   

    requiredstring 这个的意思是不允许空串,你是int它肯定不拦截!想拦截int的你应该更换requiredstring
      

  8.   

    <s:debug></s:debug>在JSP页面中加入这一标签,看看<debug>说明
      

  9.   

    提交的都是字符串形式啊,requiredstring只是验证你输入没,你可以配置正则表达式去验证