检查
Hibernate Validator documentation on Creating custom constraints.
您的验证器需要使用一些默认或指定的Charset将String编码为byte [].我想你可能会使用UTF-8.
也许这样的东西,它使用硬编码的UTF-8编码并假设一个合适的注释,如Hibernate文档中所述.
public class MaxByteLengthValidator implements ConstraintValidator {
private int max;
public void initialize(MaxByteLength constraintAnnotation) {
this.max = constraintAnnotation.value();
}
public boolean isValid(String object, ConstraintValidatorContext constraintContext) {
return object == null || object.getBytes(Charsets.UTF_8).length <= this.max;
}
}