コントローラーで選択した値を取得しようとしていますが、機能しません。
私の見解では、フォームがあります:
@(infoObjectForm: Form[Infoobject],nav: String = "")
@form(routes.Admin.admin_createMapInstance()) {
<fieldset>
@select(
infoObjectForm("infoobjectId"),
options(Infoobject.all_values),
'id -> "infoobjects_field",
'_label -> "Infoobject", '_default -> "--Select Infoobject--",
'_showConstraints -> false, 'value -> infoObjectForm
)
</fieldset>
<div class="actions">
<input type="submit" value="Create this Map Instance" class="btn primary"> or
<a href="@routes.Admin.admin_MapInstance()" class="btn">Cancel</a>
</div>
}
このドロップダウンには、すべての情報オブジェクトが表示されます。1 つを選択して送信ボタンを押すと、選択した infoobject (およびそのプロパティ) をコントローラーで使用したいと考えています。
Form<Infoobject> mapForm = form(Infoobject.class).bindFromRequest();
if(mapForm.hasErrors()) {
flash("error", "MapForm contains an error");
return badRequest(createMapForm.render(mapForm, ""));
}
Infoobject infoobject = mapForm.get();
String desig = infoobject.getDesignation();
String desc = infoobject.getDescription();
...
mapForm にエラーがあります。どうしてか知ってる?
インフォオブジェクト モデル:
@Entity
public class Infoobject extends Model {
@Id
@SequenceGenerator(name="infoobject_seq", sequenceName="infoobject_id_seq", allocationSize=1000)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="infoobject_seq")
public Long infoobjectId;
@Required
public String designation;
@Required
public String description;
...getters/setters
ビューで 2 つの @inputText フィールドを使用しようとしたので、機能する情報オブジェクトを作成できました。しかし今は、既存の情報オブジェクトのマップ インスタンスを作成したくありません。
あなたの助けに感謝!
編集:「error.required」と言って、コンソールにエラーを出力しました。誰?フォームに Infoobject が含まれていないようです。この類似の質問/回答が見つかりました..では、なぜこれが機能しないのですか?