我收到此错误消息。
javax.validation.UnexpectedTypeException:HV000030:没有验证器可以 找到类型:byte []。
代码是
@NotBlank(message = DocumentForm.NOT_BLANK_MESSAGE)
private byte[] file;
如果某人上传了文件,我该如何进行验证
答案 0 :(得分:1)
我不知道哪个注释可用于字节数组(如果有的话)。但是,您可以毫不费力地实现自己的验证器。
类似的东西:
public class ModelWithFileFieldValidator implements Validator {
public boolean supports(Class clazz) {
return ModelWithFileField.class.equals(clazz);
}
public void validate(Object obj, Errors e) {
byte[] field = ((ModelWithFileField)obj).getBytes();
if (field == null || field.length == 0) {
e.rejectValue("file", "empty");
}
}
}
答案 1 :(得分:1)
@NotBlank
适用于字符串。它也不是该标准的一部分。你可能想和@NotNull
一起去。它只检查文件是否在那里,而不是它是否为空。如果这也是必要的,您可以使用@Size(min = 1)
。