我快速浏览了BeanValidator
API,看起来您可能想尝试
errorCodeConverter 属性。
您是否需要实现自己的ErrorCodeConverter或使用提供的实现之一?
....<bean id="validator" p:configurationLoader-ref="configurationLoader" p:errorCodeConverter-ref="errorCodeConverter" /><bean id="errorCodeConverter" />....
注意:configurationLoader是本教程中使用的config XML中定义的另一个bean。
转换器示例:
package contact;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springmodules.validation.bean.converter.ErrorCodeConverter;public class MyErrorCodeConverter implements ErrorCodeConverter { private Log log = LogFactory.getLog(MyErrorCodeConverter.class); @Override public String convertPropertyErrorCode(String errorCode, Class clazz, String property) { log.error(String.format("Property %s %s %s", errorCode, clazz.getClass().getName(), property)); return errorCode; // <------ use the errorCode only } @Override public String convertGlobalErrorCode(String errorCode, Class clazz) { log.error(String.format("Global %s %s", errorCode, clazz.getClass().getName())); return errorCode; }}现在,属性应该可以工作了:
MyEmailErrorCode=Bad emailclass Foo { @Email(errorCode="MyEmailErrorCode") String email}


