我想问两个问题。。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"/>
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"/>
解决方案 »
- 嵌入式tomcat如何设置maxPostSize参数
- tomcat6启动报错 Can't load log handler "1catalina.org.apache.juli.FileHandler"
- hibernate 一对多关系
- 在线等。。寻求对struts2标签<s:iterator>较熟悉的高手。。。
- 谁能帮我区分几个概念
- 使用Jdom实现schema验证XML
- 关于java调用.net web service的问题
- eclipse+synchronizer产生代码的出错
- 各位大哥,大姐帮帮忙,xml解析问题,用DOM解析,解决就给分,分不够再加分
- 老板同意买书了,大家谈一谈EJB方面那一本书通俗易懂
- Servlet基础
- struts
附:struts2权威指南http://download.csdn.net/down/706207/sdan250
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>
--------------------------------------------
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
这样!!!<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>