我在Spring MVC应用程序中为MultipartFile编写了一个自定义ConstraintValidator,它看起来像这样:
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {MultipartFileNotEmptyValidator.class})
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER })
public @interface MultipartFileNotEmpty {
String message() default "{errors.MultipartFileNotEmpty.message}";
Class>[] groups() default {};
Class extends Payload>[] payload() default {};
}
这是验证的部分:
public class MultipartFileNotEmptyValidator implements ConstraintValidator
{
@Override
public void initialize(MultipartFileNotEmpty annotation)
{
// Nothing here
}
@Override
public boolean isValid(MultipartFile file, ConstraintValidatorContext context)
{
return !file.isEmpty();
}
}
这个工作非常简单.我想要做的是创建第二个检查并确保根据存储在数据库表中的值,MultipartFile不会太大.我可以以某种方式将适当的服务注入到新的ConstraintValidator类中以获取信息吗?