struts2校验框架,内置参数信息查看

校验xml的命名:*-validation.xml。
dtd是从struts2例子里复制的:
  1. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
字段校验相关信息:
  1.     <field name="username">
  2.         <field-validator type="requiredstring">
  3.             <param name="trim">true</param>
  4.             <message>username should not be blank!</message>
  5.         </field-validator>
  6.         
  7.         <field-validator type="stringlength">
  8.             <param name="minLength">6</param>
  9.             <param name="maxLength">10</param>
  10.             <message>username should be between ${minLength} and ${maxLength}!</message>
  11.         </field-validator>
  12.     </field>
那里面的type,name信息是从哪里得来的,这里正是要记录这个来源。
打开xwork的jar包:

打开如下包:

查看type信息,打开default.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE validators PUBLIC
  3.         "-//OpenSymphony Group//XWork Validator Config 1.0//EN"
  4.         "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">
  5. <!-- START SNIPPET: validators-default -->
  6. <validators>
  7.     <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
  8.     <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
  9.     <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
  10.     <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
  11.     <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
  12.     <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
  13.     <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
  14.     <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
  15.     <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
  16.     <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
  17.     <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
  18.     <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
  19.     <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
  20. </validators>
  21. <!--  END SNIPPET: validators-default -->
查看name信息,打开type=" requiredstring"对应的class=" com.opensymphony.xwork2.validator.validators.RequiredStringValidator"
  1. package com.opensymphony.xwork2.validator.validators;
  2. import com.opensymphony.xwork2.validator.ValidationException;

  3. public class RequiredStringValidator extends FieldValidatorSupport {

  4.     private boolean doTrim = true;

  5.     public void setTrim(boolean trim) {
  6.         doTrim = trim;
  7.     }

  8.     public boolean getTrim() {
  9.         return doTrim;
  10.     }

  11.     public void validate(Object object) throws ValidationException {
  12.         String fieldName = getFieldName();
  13.         Object value = this.getFieldValue(fieldName, object);
  14.         if (!(value instanceof String)) {
  15.             addFieldError(fieldName, object);
  16.         } else {
  17.             String s = (String) value;
  18.             if (doTrim) {
  19.                 s = s.trim();
  20.             }
  21.             if (s.length() == 0) {
  22.                 addFieldError(fieldName, object);
  23.             }
  24.         }
  25.     }
  26. }
< param   name = "trim" > true </ param >
trim对应的是
public   void  setTrim( boolean  trim) {  里的trim
它设置的值 doTrim 默认是true。在这里,该标签可以省略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值