【发布时间】:2023-03-30 22:39:03
【问题描述】:
我正在开发一个 Play 2.2 表单应用程序。我使用这个函数创建了一个表单
public static Result editIndicator() {
Indicators addIndObj = new Indicators();
addIndObj.aDt = (new Date()).toString();
addIndObj.aUid = Long.parseLong(play.mvc.Controller.session("userid"));
addIndObj.dTag = "N";
// List of all Countries
ALLCommon table_listobj = Indicators.ddl1();
Form<Indicators> newIndicatorForm = form(Indicators.class).fill(
addIndObj);
return (ok(addindicator.render(newIndicatorForm, table_listobj)));
}
指标模型的参数具有约束@Required,参数如下
@Constraints.Required
@Column(name = "A_DT")
public String aDt;
@Constraints.Required
@Column(name = "A_UID")
public Long aUid;
@Constraints.Required
@Column(name = "D_TAG")
public String dTag;
@Column(name = "TIME")
@Required
@Formats.DateTime(pattern = "HH:mm:ss")
public Date time;
@Constraints.Required
@Column(name = "INDFREQUENCY")
public String indFrequency;
所以,我设置了之前的值,然后将其绑定到表单。我没有在我的表单中使用所有这些 @Required 值(只是频率部分),当我尝试获取填充表单时,我得到表单错误
Form(of=class models.Indicators,
data={}, value=None,
errors={time=[ValidationError(time,error.required,[])],
aDt=[ValidationError(aDt,error.required,[])],
dTag=[ValidationError(dTag,error.required,[])],
aUid=[ValidationError(aUid,error.required,[])],
indFrequency=[ValidationError(indFrequency,error.required,[])]})
即使我不使用它,我是否需要在表单中设置这些值?或者我错过了什么.. 任何帮助都会得到帮助..在此先感谢.. :)
【问题讨论】:
标签: java model-view-controller playframework