我想问两个问题。。1:如何用验证框架,验证输入的是不是浮点类型。
2:简要的讲一下struts2提供的几个框架验证的用法。 <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
    <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
    <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>

解决方案 »

  1.   

    这你找本struts2的教程看看就知道怎么用了呀,网上找找
    附:struts2权威指南http://download.csdn.net/down/706207/sdan250
      

  2.   

    1:现成的验证是否某一类型不知道,自己实现一个??
    2:
    以下只写<field>的形式
    <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
    必填验证器 例:
    <field name="username">
      <field-validator type="required">
        <message>username must not be null.</message>
      </field-validator>
    </field>
    --------------------------------------------
    <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
    必填字符串验证器 例:
    <field name="username">
      <field-validator type="requiredstring">
        <param name="trim">true</param>
        <message>username is required.</message>
      </field-validator>
    </field>
    --------------------------------------------
    <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
    整形验证器 例:
    <field name="age">
      <field-validator type="int">
        <param name="min">1</param>
        <param name="max">100</param>
        <message>xxxxxxxxxxxxxxxxxxx</message>
      </field-validator>
    </field>
    --------------------------------------------
    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
    浮点数验证器 例:
    <field name="percent">
      <field-validator type="double">
        <param name="minExclusive">0.111</param>
        <param name="maxExclusive">99.99</param>
        <message>xxxxxxxxxxxxxxxxxxx</message>
      </field-validator>
    </field>
    --------------------------------------------
    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
    日期验证器 例:
    <field name="birthday">
      <field-validator type="date">
        <param name="min">01/01/1999</param>
        <param name="max">02/02/2002</param>
        <message>xxxxxxxxxxxxxxxxxxx</message>
      </field-validator>
    </field>
    --------------------------------------------
    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
    表达式验证器 例:
    <validator type="expression">
      <param name="expression">user.aa==bb</param>
      <message>xxxxxxxxxxx</message>
    </validator>
    --------------------------------------------
    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
    字段表达式验证器 例:
    <field name="confirm">
      <field-validator type="fieldexpression">
        <param name="expression">user.aa==bb</param>
        <message>xxxxxxxxxxxxxxxxxxx</message>
      </field-validator>
    </field>
    --------------------------------------------
    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
    邮件地址验证器 例:
    <field name="myemail">
      <field-validator type="email">
        <message>xxxxxxxxxxxxxxxxxxx</message>
      </field-validator>
    </field>
    --------------------------------------------
    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
    网址 例:
    <field name="myurl">
      <field-validator type="url">
        <message>xxxxxxxxxxxxxxxxxxx</message>
      </field-validator>
    </field>
    --------------------------------------------
    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
    较多,自己翻书
    --------------------------------------------
    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
    转换 例:
    <field name="myfield">
      <field-validator type="conversion">
        <param name="repopulateField">true</param>
        <message>xxxxxxxxxxxxxxxxxxx</message>
      </field-validator>
    </field>
    --------------------------------------------
    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
    字段长度 例:
    <field name="str">
      <field-validator type="stringlength">
        <param name="minLength">1</param>
        <param name="maxLength">10</param>
        <param name="trime">true</param>
        <message>xxxxxxxxxxxxxxxxxxx</message>
      </field-validator>
    </field>
    --------------------------------------------
    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
    正则 例:
    <field name="zipcode">
      <field-validator type="regex">
        <param name="expression"><![CDATA[[0-9]\d{5}(?!\d)]]></param>
        <message>xxxxxxxxxxxxxxxxxxx</message>
      </field-validator>
    </field>
    --------------------------------------------
      

  3.   

    你的action需要继承了ActionSupport,
    1:重写validate()方法,这样调用action的所有方法都会经过validate()方法校验,
    2:重写validateXxx()方法,Xxx为你需要校验的action中的方法名,只会对指定的方法校验。
    3:xml校验文件的。<validators>
      <!--校验action的xxx属性-->
      <field name="xxx">
         <!--指定xxx属性满足的规则-->
         <field-validator type="double">
         </field-validator>
         <!--出错提示信息-->
         <message>请输入正确的数字</message>
      </field>
    </validators>
    xml文件要放到跟action同一个包下,文件名为:action的类名-validation.xml
      

  4.   


    这样!!!<field name="age">
      <field-validator type="int">
    <param name="min">1</param>
    <param name="max">133</param>
    <message>age must between ${1} and ${133}</message>
      </field-validator>
    </field>