私はプレイ中です!私はいつもエラーがあるいくつかのフォームに固執しています。すべてのフィールドが満たされていても、問題は何かを把握することはできません。再生!フォームには常にエラーがあります
ルート
GET /products/ controllers.Products.list()
GET /products/new controllers.Products.newProduct()
POST /products/ controllers.Products.save()
製品のController.java
import play.data.Form;
private final static Form<Product> productForm = form(Product.class);
public static Result list() {
List<Product> productList = Product.findAll();
return ok(list.render(productList));
}
public static Result newProduct() {
return ok(details.render(productForm));
}
public static Result save() {
Form<Product> boundForm = productForm.bindFromRequest();
if(boundForm.hasErrors()) {
flash("error",
"Please correct the form below.");
return badRequest(details.render(boundForm));
}
// For mystery reasons, in this line, product is always null
// Product product = boundForm.get();
Product product = new Product();
product.ean = boundForm.data().get("ean");
product.name = boundForm.data().get("name");
product.description = boundForm.data().get("description");
product.save();
flash("success",
String.format("Successfully added product %s", product));
return redirect(routes.Products.list());
}
製品のModel.java
import static play.data.validation.Constraints.Required;
public class Product {
@Required
public String ean;
@Required
public String name;
public String description;
...
}
製品のform.scala.htmlここ
@(productForm: Form[Product])
@main("Product form") {
<h1>Product form</h1>
@helper.form(action = routes.Products.save()) {
<fieldset>
<legend>Product (@productForm("name").valueOr("New"))</legend>
@helper.inputText(productForm("ean"), '_label -> "EAN")
@helper.inputText(productForm("name"),'_label -> "Name")
@helper.textarea(productForm("description"), '_label -> "Description")
</fieldset>
<input type="submit" class="btn btn-primary" value="Save">
<a class="btn" href="@routes.Products.list()">Cancel</a>
}
}
は、デバッガのスクリーンショットであるデータとの誤差もあります:(私は間違って何をやっている
?私は、リストのルートとコントローラのアクションここで
を追加
~~~~~
~~~~アップデートはレポです:
https://github.com/LTroya/up-and-running-play
es.Products.list'が 'routes'に定義されておらず、コントローラ、main.scala.htmlがありません。 10分でゼロから再現するのは難しいです。 –
@AndrzejJozwik完了。私は、リストルートとリストとgithubリポジトリ – LTroya