fix check format
Test Workflow / test (push) Successful in 6s

This commit is contained in:
vladp
2025-12-23 12:46:59 +07:00
parent ce879fea18
commit 4c607f5bf9
@@ -24,7 +24,7 @@ public class FileUploadRequestValidator implements Validator {
validateType(request.getFileType(), errors); validateType(request.getFileType(), errors);
validateFileName(request.getFileName(), errors); validateFileName(request.getFileName(), errors);
validateExtension(request.getExtension(), request.getFileName(), errors); validateExtension(request.getExtension(), request.getFileType(), errors);
} }
private void validateType(String fileType, Errors errors) { private void validateType(String fileType, Errors errors) {
@@ -58,20 +58,13 @@ public class FileUploadRequestValidator implements Validator {
} }
} }
private void validateExtension(String fileType, String fileName, Errors errors) { private void validateExtension(String extension, String fileType, Errors errors) {
if (fileType == null || fileType.isBlank()) { if (extension == null || extension.isBlank()) {
errors.rejectValue("fileType", "fileType.required", "File type is required"); errors.rejectValue("fileType", "fileType.required", "File type is required");
return; return;
} }
String fileExtension = getFileExtension(fileName); if (extension.contains(".")) {
if (fileExtension == null || fileExtension.isBlank()) {
errors.rejectValue("fileName", "fileName.invalid.extension", "File must have an extension");
return;
}
if (fileExtension.contains(".")) {
errors.rejectValue("extension", "extension.required", "Extension contains comma"); errors.rejectValue("extension", "extension.required", "Extension contains comma");
return; return;
} }
@@ -79,16 +72,10 @@ public class FileUploadRequestValidator implements Validator {
try { try {
FileType parsedType = FileType.valueOf(fileType.toUpperCase()); FileType parsedType = FileType.valueOf(fileType.toUpperCase());
if (!supportedFileTypes.contains(parsedType)) { if (!parsedType.supportsExtension(extension)) {
errors.rejectValue("fileType", "fileType.unsupported",
"Unsupported file type. Supported types: " + supportedFileTypes);
return;
}
if (!parsedType.supportsExtension(fileExtension)) {
errors.rejectValue("fileName", "fileType.extension.mismatch", errors.rejectValue("fileName", "fileType.extension.mismatch",
String.format("File extension '%s' does not match file type '%s'. Allowed extensions for %s: %s", String.format("File extension '%s' does not match file type '%s'. Allowed extensions for %s: %s",
fileExtension, parsedType.getDisplayName(), parsedType.getDisplayName(), extension, parsedType.getDisplayName(), parsedType.getDisplayName(),
parsedType.getAllowedExtensions())); parsedType.getAllowedExtensions()));
} }
@@ -99,9 +86,6 @@ public class FileUploadRequestValidator implements Validator {
} }
private String getFileExtension(String fileName) { private String getFileExtension(String fileName) {
if (fileName == null || fileName.lastIndexOf('.') == -1) {
return null;
}
return fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase(); return fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase();
} }
} }