/** {@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");
    }
  }
예제 #2
0
  /**
   * 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);
  }