如何在 PlayFramework 中的 Json Reads 中添加自定义 ValidationError

2023-12-26

我正在使用 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 \ "firstName").read(minLength[String](1))在播放 json.您可以对自定义错误消息执行以下操作:

(JsPath \ "firstName")
  .read[String]
  .filter(ValidationError("your.error.message"))(_.length > 0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PlayFramework 中的 Json Reads 中添加自定义 ValidationError 的相关文章

随机推荐

  • FacesContext 有何用途?

    What is FacesContext用于 它具体是在哪里实现的 引自第6 1章JSF 2 0 规范 http jcp org aboutJava communityprocess final jsr314 index html 面孔上下
  • 如何用笑话和酶来模拟 React 组件方法

    我有一个反应组件 为了演示问题而进行了简化 class MyComponent extends Component handleNameInput value gt this searchDish value searchDish valu
  • IPv4 地址渲染的 GHC Haskell 性能

    我最近在 haskell 中构建了一个用于处理 IPv4 地址的库 我写了两个函数来渲染IPv4写给Text令我惊讶的是 这种幼稚的方法胜过我实际想到的方法 这是相关的部分 首先 有的定义IPv4 https github com andr
  • URL 协议处理程序安全警告

    我有一个自定义 url 协议处理程序 用于处理 myhandler path to something 形式的 url 它被注册到本地安装的客户端应用程序 该应用程序处理请求并执行 正确的操作 然而 当我在 Outlook 2007 中有这
  • PayPal Express Checkout 即时更新未更新运费

    我正在使用 Paypal Express Checkout 一切正常 除了在调用回拨时承运商未更新之外 我可以验证回调是否被调用 调用已记录 当 Paypal 调用包含客户发货国家 地区的回调 URL 时 我返回以下值 METHOD Cal
  • SQL Server 中 7 天滚动平均值的 SQL 查询

    我有一个每小时产品使用情况 产品使用次数 数据的表格 ID bigint ProductId tinyint Date int YYYYMMDD Hour tinyint UsageCount int 1 20140901 0 10 1 2
  • 单页应用程序 (SPA) 的单点登录 (SSO) 解决方案/架构

    我研究 SPA 的 SSO 解决方案已经有一段时间了 有很多解决方案存在细微的差别 同时我还发现并不是每个人对 SSO 都有相同的理解 并且没有多少针对 SPA 的 SSO 既定模式 因此 我并不是要求详细的设计 架构 而是只是尝试看看这个
  • C# listview - 嵌入控件

    任何人都可以帮助我在列表视图中嵌入控件吗 我需要添加按钮控件作为列表视图的子项 谢谢 好吧 您可能正在谈论 Windows 窗体ListView http msdn microsoft com en us library system wi
  • Twitter Bootstrap 导航栏菜单滚动

    使用时twitter bootstrap 3 在移动设备菜单上nabber有水平和垂直滚动条 它不在那里2 3我不知道如何禁用它并让菜单项扩展至完整而没有任何滚动条 这是 Bootstrap 3 的新功能 最好的方法是删除或注释掉 less
  • 是否可以将JavaFX的WebView更改为Chrome

    我们正在尝试创建一个使用 html5 canvas 打开 url 的桌面应用程序 我们使用 Java 8 JavaFX 实现它 但我们在渲染草图时遇到了糟糕的反应 这在 Chrome 浏览器中运行良好 是否可以在JavaFx应用程序中嵌入c
  • 拆分 pandas 中的地址列

    我有一个像这样的熊猫数据集 import pandas as pd data id 001 002 003 004 address William J Clare n290 Valley Dr nCasper WY 82604 nUSA 1
  • 为什么 Boost.Spirit 能够正确地将标识符解析为 std::string,而不是解析为仅由 std::string 组成的改编结构?

    我为标识符定义了一条规则 以字母字符开头 后跟任意数量的字母数字字符 当我直接解析为时 我得到不同的结果std string与包含单个的改编结构相比std string 如果我的语法的属性是std string Qi 会正确地将字符顺序调整
  • 如何设置程序的CPU亲和力?

    我有一个用 C 编写的程序 我使用 VSTS 2008 Net 3 5 Windows Vista Enterprise x86 来开发 Windows 窗体应用程序 我当前的计算机是双核CPU 我想将程序的CPU亲和力设置为在特定CPU上
  • Linq动态在哪里算?

    是否可以在 where 中使用列表 我想要这样的东西 public class Customer string FirtsName string LastName int Number 我想使用复选框来过滤客户 如果我选择名字和号码 那么将
  • (heroku) 错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT

    我是一名初级 Discord 机器人开发人员 希望在 Heroku 上 24 7 托管他的 heroku 机器人 大约之后 部署 1 分钟后 出现错误 2020 12 28T11 40 54 000493 00 00 heroku web
  • Flutter Firebase 存储无法工作:没有默认存储桶

    我正在尝试上传一个pdf file to Firebase Storage使用此功能 static Future
  • Django ModelForms:将ManyToMany字段显示为单选

    在 Django 应用程序中 我有一个模型 Bet 其中包含与 Django 用户模型的 ManyToMany 关系 class Bet models Model participants models ManyToManyField Us
  • 触发AWS代码构建时指定文件路径

    我已经创建了 AWS codebuild 管道 每当我推送到主分支时它就会自动触发 现在 我只想在 Dockerfile 中发生更改时触发它 以下是我的项目结构 casestudy gt Docker gt Dockerfile gt In
  • “图标路径无效” - Apple App Store 团队返回错误

    这是我第一次向 App Store 提交内容 遇到了很多问题 首先 我要说的是 该应用程序是用PhoneGap 使用科尔多瓦1 9 0框架 它的 Web 应用程序端很好 验证了 W3 并且在浏览器中完美运行 在无法手动修复问题后 我从头开始
  • 如何在 PlayFramework 中的 Json Reads 中添加自定义 ValidationError

    我正在使用 play Reads 验证助手 我想在 json 异常的情况下显示一些自定义消息 例如 长度是最小值然后指定或给定的电子邮件无效 我知道 play 显示这样的错误消息error minLength但我想显示一条合理的消息 例如请