我正在使用Scala中的Play框架来开发一个小型博客网站。我目前(成功地)设置了一个表单,可以轻松注册用户。该登录页面仅接受一个用户名(即,尚无密码),验证该用户名的长度正确并且尚不存在,然后将该用户添加到数据库中(当前仍在内存中)。可以仅使用基本的form functionality来验证长度,但是,此用户名的唯一性要求我使用custom validations。
现在,除自定义错误消息外,所有其他方法均有效。如果不满足常规格式要求,则会返回错误消息并显示在 view 中(例如,“最小长度为:5”)。当名称不唯一时,我想显示类似的消息。在我提供的第一个链接中,有一个自定义验证的示例,它似乎有一个参数,代表您编写自己的验证的自定义错误消息。但是,它不会在视图中显示,而其他人则显示。
当前验证码:
private val myForm: Form[Account] =
Form(mapping("name" -> text(3, 24))(Account.apply)(Account.unapply).verifying(
"Account is not in the DB.",
fields =>
fields match {
case data: Account => accountExists(data.name).isDefined
}
)
)
有人有什么主意吗?