1

私はそのような単純な豆を持っています:

package models;

import play.data.validation.Constraints;

public class Upload
{
    @Constraints.Required
    @Constraints.MinLength(4)
    @Constraints.MaxLength(40)
    public String name;

    @Constraints.Required
    public String inputFile;
}

フォームは次のようになります。

@form(action = routes.Application.submit(), 'enctype -> "multipart/form-data") {

    @inputText(
        uploadForm("name"),
        '_label -> "Name"
    )

    @inputFile(
        uploadForm("inputFile"),
        '_label -> "Queries"
    )
}
  1. inputFile を検証する最良の方法は何ですか?
  2. 注釈でそれを行うことは可能ですか?

@Required constraintまったく機能しません。

私はそれを選択したい+サイズにいくつかの制限を追加します。

4

2 に答える 2

1

フォームを次のようにします。

 <input type="file" name="inputFile">

submit メソッドにこれを追加します。

 // from official documentation
    public static Result submit() {
      MultipartFormData body = request().body().asMultipartFormData();
      FilePart file = body.getFile("inputFile");
      if (inputFile != null) {
        String fileName = picture.getFilename();
        String contentType = picture.getContentType(); 
        File file = picture.getFile();
        // method the check size
        if(!validateFileSize){
          return redirect(routes.Application.index());    // error in file size 
        }
        return ok("File uploaded");
      } else {
        // here comes the validation
        flash("error", "Missing file");
        return redirect(routes.Application.index());    
      }
    }
于 2012-04-30T07:52:11.457 に答える
0

以下のようなものでしょうか。

MultipartFormData body = request().body().asMultipartFormData();
if (!body.getFiles().isEmpty()) { 
  // do your work
}
于 2012-08-22T13:50:13.223 に答える