- 论坛徽章:
- 0
|
在class主目录里的validatros.xml加入
-------------------------------------------------------------------------
在Action同目录中加入验证文件,具体配置就不多讲了
ActionName-functionName-validator.xml
(你要验让的Action类名-方法名-validator.xml)
16
-------------------------------------------------------------------------
package com.skyon.mica.util.web.webwork.validator;
import java.io.UnsupportedEncodingException;
import com.opensymphony.xwork.validator.ValidationException;
import com.opensymphony.xwork.validator.validators.FieldValidatorSupport;
/**
* 字符串字节长度字段验证器
* @author andy
* @version $Revision: 1.3 $
*
*/
public class StringByteLengthFieldValidator extends FieldValidatorSupport {
private boolean doTrim = true;
private int maxLength = -1;
private int minLength = -1;
private String charsetName = "UTF-8";
public void setMaxLength(int maxLength) {
this.maxLength = maxLength;
}
public int getMaxLength() {
return maxLength;
}
public void setMinLength(int minLength) {
this.minLength = minLength;
}
public int getMinLength() {
return minLength;
}
public void setTrim(boolean trim) {
doTrim = trim;
}
public boolean getTrim() {
return doTrim;
}
/**
* @return 返回 charsetName。
*/
public String getCharsetName() {
return charsetName;
}
/**
* @param charsetName 要设置的 charsetName。
*/
public void setCharsetName(String charsetName) {
this.charsetName = charsetName;
}
public void validate(Object object) throws ValidationException {
String fieldName = getFieldName();
String val = (String) getFieldValue(fieldName, object);
if (val == null) {
// use a required validator for these
return;
}
if (doTrim) {
val = val.trim();
}
try {
if ((minLength > -1)
&& (val.getBytes(charsetName).length -1)
&& (val.getBytes(charsetName).length > maxLength)) {
addFieldError(fieldName, object);
}
} catch (UnsupportedEncodingException e) {
throw new ValidationException(e.getMessage());
}
}
}
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17667/showart_1186211.html |
|