我的表单有问题,问题是我无法正确显示错误(我认为是这样)。验证工作正常。
当旧密码不正确时,输入框下方会显示错误消息,另一方面,当密码不匹配时,错误不会出现在任何地方。
如果我进行一些调试,我会得到数据:
从观点来看:
@pass_form("password").errors
我明白了:
FormError(password,Passwords dont match,WrappedArray())
所以我的问题是如何在视图中修复表单或代码,以正确打印该错误。
Form(
mapping(
"old_password" -> text.verifying(Messages("forms.password.old.mismatch"),
password => User.correct_?(user.id, password)),
"password" -> tuple(
"new" -> text(minLength = conf.getInt("password.length.min").get),
"confirm" -> text).verifying(Messages("forms.password.new.mismatch"),
passwords => passwords._1 == passwords._2)
)
((_, password) => password._1)((_) => Some(("", ("", ""))))
)
鉴于我有:
@helper.form(action = routes.UserController.submitPassword) {
@helper.input(pass_form("old_password")) { (id, name, value, args) =>
<input type="password" name="@name" id="@id" @toHtmlArgs(args)>
}
@helper.input(pass_form("password.new")) { (id, name, value, args) =>
<input type="password" name="@name" id="@id" @toHtmlArgs(args)>
}
@helper.input(pass_form("password.confirm")) { (id, name, value, args) =>
<input type="password" name="@name" id="@id" @toHtmlArgs(args)>
}
<input type="submit" value="Set">
}