您的位置:首页 > 编程语言 > Java开发

struts2学习笔记(四)基于xml的框架校验

2014-03-11 11:12 288 查看

5、框架验证,基于XML格式的验证

验证哪个action,就建立一个RegisterAction-validation.xml文件,在xml中引用

Field字段校验    validator非字段校验

RegisterAction-test-validation.xml对action里面的test()发放进行校验,但是仍会对RegisterAction-validation.xml进行全局校验,(建议不要使用全局的校验,对每个方法进行一个局部校验)

Field字段校验

 

<!DOCTYPE validators PUBLIC"-//OpenSymphony Group//XWork Validator 1.0.2//EN""http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">文件

 

<validators>
<!--     一个filed表示对一个属性进行校验 -->
    <field
name ="username">
   <!--      一个field-validator表示对一个属性进行某种type方式的校验,查询
-->
  <!--  requiredstring表示必填 -->
        <field-validator
type="requiredstring">
           <!-- trim表示将字符串两边的空格全部忽略 -->
            <param
name="trim">true</param>
            <!-- message表示校验失败时,给用户的信息 -->
            <message>username should not be blank</message>
        </field-validator>
       
       <!-- stringLength表示验证输入长度 -->
        <field-validator
type="stringlength">
            <param
name="minLength">6</param>
            <param
name="maxLength">10</param>
            <message>username should be between ${minLength} and&{maxLength}</message>
        </field-validator>
       
    </field>
   
 <field
name="age">
        <field-validator
type="required">
            <message>age should not be blank!</message>
        </field-validator>
   
        <field-validator
type="int">
            <param
name="min">1</param>
            <param
name="max">150</param>
            <message>age should be between ${min} and ${max}</message>
        </field-validator>
    </field>
   
    <field
name="birthday">
        <field-validator
type="required">
            <message>birthday should not be blank!</message>
        </field-validator>
       
        <field-validator
type="date">
            <param
name="min">2001-01-01</param>
            <param
name="max">2003-12-31</param>
            <message>birthday should be between ${min} and ${max}</message>
        </field-validator>
    </field>
    </validators>
 
<s:fielderror cssStyle="color:red" />必须使用fielderror在jsp页面中
Requiredstring表示对字符串不能为空进行校验
当不是字符串的时候要用required进行空校验
重写public void validate()
和框架校验最好只写一个,避免对某个表单重复校验

非字段校验

<validatortype="requiredstring">
        <paramname="fieldName">username</param>
        <message>username should not beblank!</message>
    </validator>
   
    <validatortype="stringlength">
        <param name="fieldName">username</param>
        <paramname="minLength">6</param>
        <paramname="maxLength">10</param>
        <message>username should bebetween ${minLength} and ${maxLength}</message>
    </validator>

相对来说字段校验更加直观方便,最好不要混合使用,但是可以同时并存

1、真正存放field级别信息的对象是LinkedHashMap

2、该linkedhashmap的key是String类型的,value是ArrayList类型的

3、对于action级别的错误信息都是放在arraylist中

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts框架校验