【发布时间】:2015-03-19 08:43:31
【问题描述】:
重新发布的原因:我已经发布了这个问题 HERE ,但我没有得到任何答案,只有一条不清楚的评论。所以我正在考虑再次发布它以寻求帮助。
所以,
我有一个验证方法来检查两个密码(密码和确认密码)是否匹配。
这是我的验证方法:
public String validate() {
if (!this.password.equals(this.passwordConfirm)) {
return "Passwords do not match";
}
return null;
}
在我的 scala 中,我得到了以下内容。
@if(accountForm.hasGlobalErrors) {
<p class="error">
@accountForm.globalError.message
</p>
}
@if(flash.contains("success")) {
<p class="success">
@flash.get("success")
</p>
}
@helper.inputPassword(accountForm("password"),'_label -> "Password", 'placeholder -> "**********")
@helper.inputPassword(accountForm("passwordConfirm"),'_label -> "Confirm Password", 'placeholder -> "**********")
问题:一切都按预期工作,但是当在字段中输入两个不同的密码时,它不会显示从validate() 方法返回的错误消息。我不知道为什么。以下是我的 CSS 错误。
p.error{
border-style: outset;
border-radius: 5px;
color: red;
font-weight: bold;
background-color: white;
padding: 10px 10px 10px 10px;
}
更新:我从评论中得知,我一直在错过一些行动,但我不太明白。我是这个东西的新手,非常感谢任何明确的帮助。
更新:我尝试在validate() 方法中编写返回语句,如下所示:
return Context.current().flash().put("error", "Passwords do not match");
这都没有用!这样做的问题是,它正在显示返回语句,但在保存页面之后不应该发生!
【问题讨论】:
-
您知道 return 语句不显示内容,对吧?那不是他们所做的。 (这就像问为什么
int i = 5;不显示5) -
@immibis 但这是网络开发中的闪退错误!
-
@davide 我已经在问题中指定了它!请检查!
-
哦,对不起,我没有意识到名为
validate的框架。 (如果您是从头开始编写自己的代码,那么除非您显示它,否则当然不会显示任何内容;但在这种情况下,无论您的 validate 方法返回什么,框架都会将其用作错误消息)
标签: java scala playframework playframework-2.0