package org.springmodules.validation.bean.annotation.javascript.taglib; import java.lang.annotation.Annotation; import org.springframework.context.support.MessageSourceAccessor; import org.springmodules.validation.bean.conf.loader.annotation.handler.MaxLength; import org.springmodules.validation.bean.conf.loader.annotation.handler.MaxSize; public class MaxLengthSizeHandler extends Handler { public MaxLengthSizeHandler() { super(MaxLength.class, MaxSize.class); } @Override public String convertToValang(String fieldName, Annotation a, MessageSourceAccessor messages) { String errMsg = ""; int value = 0; String applyIfValang = null; if (a instanceof MaxLength) { MaxLength annotation = (MaxLength) a; errMsg = messages.getMessage(annotation.errorCode(), annotation.message()); value = annotation.value(); applyIfValang = valangToJS(annotation.applyIf()); } else if (a instanceof MaxSize) { MaxSize annotation = (MaxSize) a; errMsg = messages.getMessage(annotation.errorCode(), annotation.message()); value = annotation.value(); applyIfValang = valangToJS(annotation.applyIf()); } StringBuffer sb = new StringBuffer(); sb.append(" function() {return this.lessThanOrEquals((this.lengthOf(this.getPropertyValue("); sb.append(wrapAndEscapeJsString(fieldName));// field sb.append("))), ("); sb.append(value); sb.append("))}"); return buildBasicRule(fieldName, errMsg, sb.toString(), applyIfValang, a); } }