【发布时间】:2017-05-30 07:05:47
【问题描述】:
我正在使用 play Reads 验证助手我想在 json 异常的情况下显示一些自定义消息,例如:长度是最小然后指定或给定的电子邮件无效,我知道 play 会显示这样的错误消息 error.minLength 但是我想显示一个合理的消息,例如请输入大于 1 的字符(或其他字符)这是我的代码
case class DirectUserSignUpValidation(firstName: String,
lastName: String,
email: String,
password: String) extends Serializable
object DirectUserSignUpValidation {
var validationErrorMsg=""
implicit val readDirectUser: Reads[DirectUserSignUpValidation] = (
(JsPath \ "firstName").read(minLength[String](1)) and
(JsPath \ "lastName").read(minLength[String](1)) and
(JsPath \ "email").read(email) and
(JsPath \ "password").read(minLength[String](8).
filterNot(ValidationError("Password is all numbers"))(_.forall(_.isDigit)).
filterNot(ValidationError("Password is all letters"))(_.forall(_.isLetter))
)) (UserSignUpValidation.apply _)
}
我已尝试像这样添加ValidationError
(JsPath \ "email").read(email,Seq(ValidationError("email address not correct")) and
but its giving me compile time error
too many arguments for method read: (t: T)play.api.libs.json.Reads[T]
请问如何在读取 json 数据时添加自定义验证错误消息
【问题讨论】:
-
JsPath.read不像 html 表单验证参数那样工作。你在link 上问过同样的问题
标签: json scala playframework playframework-2.5 playframework-json