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 |