package com.nec.jp.cloudmgr.web.util;
import com.opensymphony.xwork2.validator.ValidationException;
import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport;
public class ByteRangeFieldValidator extends FieldValidatorSupport {
    private boolean doTrim = true;
    private Byte maxLength = -1;
    private Byte minLength = -1;
    public void setMaxLength(Byte maxLength) {
        this.maxLength = maxLength;
    }
    public int getMaxLength() {
        return maxLength;
    }
    public void setMinLength(Byte minLength) {
        this.minLength = minLength;
    }
    public int getMinLength() {
        return minLength;
    }
    public void setTrim(boolean trim) {
        doTrim = trim;
    }
    public boolean getTrim() {
        return doTrim;
    }
    public void validate(Object object) throws ValidationException {
        String fieldName = getFieldName();
        String val = (String) getFieldValue(fieldName, object);
        if (val == null || val.getBytes().length <= 0) {
            // use a required validator for these
            return;
        }
        if (doTrim) {
            val = val.trim();
            if (val.getBytes().length <= 0) {
                // use a required validator
                return;
            }
        }
        if ((minLength > -1) && (val.getBytes().length < minLength)) {
            addFieldError(fieldName, object);
        } else if ((maxLength > -1) && (val.getBytes().length > maxLength)) {
            addFieldError(fieldName, object);
        }
    }
  
    
}
validators.xml -> 프로젝트/src/에 위치 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//OpenSymphony Group//XWork Validator Config 1.0//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">
<validators>
    <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="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
    <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
    <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"/>
    <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
    <validator name="byte" class="com.nec.jp.cloudmgr.web.util.ByteRangeFieldValidator"/>
</validators>
'Struts2' 카테고리의 다른 글
| 현재 URL 가져오기 (0) | 2010.08.14 | 
|---|---|
| Struts2 @Results 에서 params이용 방법 (0) | 2010.08.12 | 
| Validator 날짜 체크 Action (0) | 2010.08.11 | 
| validate money check struts2 (0) | 2010.08.10 | 
| Struts2 exceptionStack logfile (0) | 2010.08.06 |