I am development one Hibernate constraint to validate extension file. The question is I could want show in message error the bad upload file extension.
Now i have constraint look like this.
Enum to valid data.
Code:
public enum FileType {
JPG, PNG, GIF, BMP;
}
Contraint.
Code:
@Target({METHOD, FIELD, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy = CheckFileTypeValidator.class)
@Documented
public @interface CheckFileType {
String message() default "{CheckFileType}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
FileType[] types();
}
Validator.
Code:
public class CheckFileTypeValidator implements ConstraintValidator<CheckFileType, MultipartFile> {
private FileType[] types;
@Override
public void initialize(CheckFileType checkFileType) {
this.types = checkFileType.types();
}
@Override
public boolean isValid(MultipartFile multipartFile, ConstraintValidatorContext constraintValidatorContext) {
for (int x = 0; x < this.types.length; x++) {
if (multipartFile.getContentType().toLowerCase().contains(this.types[x].toString().toLowerCase())) {
return true;
}
}
return false;
}
}
To use it.
Code:
@CheckFileType(types = {FileType.JPG, FileType.PNG})
private MultipartFile credential;
Now, What do I need to do to implement this feature?