/** {@inheritDoc} */ @Override public void validate(final Object target, final Errors errors) { final FileUploadForm form = (FileUploadForm) target; final MultipartFile file = form.getFile(); if (file.isEmpty()) { errors.rejectValue(WebKeys.FILE, "I0002"); return; } if (StringUtils.isBlank(form.getPath())) { errors.rejectValue(WebKeys.PATH, "I0004"); } }
/** * Constructor. * * @param parameters Page parameters */ public UploadPage(final PageParameters parameters) { Folder uploadFolder = getUploadFolder(); // Create feedback panels final FeedbackPanel uploadFeedback = new FeedbackPanel("uploadFeedback"); // Add uploadFeedback to the page itself add(uploadFeedback); // Add simple upload form, which is hooked up to its feedback panel by // virtue of that panel being nested in the form. final FileUploadForm simpleUploadForm = new FileUploadForm("simpleUpload"); add(simpleUploadForm); // Add folder view add(new Label("dir", uploadFolder.getAbsolutePath())); fileListView = new FileListView( "fileList", new LoadableDetachableModel<List<File>>() { @Override protected List<File> load() { return Arrays.asList(getUploadFolder().listFiles()); } }); add(fileListView); // Add upload form with progress bar final FileUploadForm progressUploadForm = new FileUploadForm("progressUpload"); progressUploadForm.add( new UploadProgressBar("progress", progressUploadForm, progressUploadForm.fileUploadField)); add(progressUploadForm); // Add upload form that uses HTML5 <input type="file" multiple />, so it can upload // more than one file in browsers which support "multiple" attribute final FileUploadForm html5UploadForm = new FileUploadForm("html5Upload"); add(html5UploadForm); }