gpt4 book ai didi

scala - 玩! 2 斯卡拉 : Adding an error to a form in the controller code proper

转载 作者:行者123 更新时间:2023-12-04 18:11:32 25 4
gpt4 key购买 nike

我对输入数据进行了一些验证,我真的希望在 Controller 代码中处理这些数据,因为:

  • 它只适用于非常特殊的情况,所以弄乱verifying表单定义中的函数会降低代码的凝聚力。
  • 它产生了我需要在 Controller 的其他地方使用的附带结果。

  • 什么是产生新 Form 的干净方式?就像刚刚绑定(bind)到 success 中的附加(字段或一般)错误消息的那个 Form.fold的分公司?

    为了说明,我想要类似(不存在的) Form.withError我在这里调用的方法:
    val form= myForm.bindFromRequest
    form.fold(
    errors => BadRequest(view(errors))
    {
    case(data, button) =>
    button match {
    case Some("save") =>
    val r= costlyFunction(data)
    if (r.isOk) {
    doSomethingWith(r)
    Ok(...)
    }
    else {
    val f= form.withError("my custom error")
    BadRequest(view(f))
    }
    case ...
    }
    }

    最佳答案

    自己找到的:

    val f= Form(form.mapping, form.data, 
    Seq(new play.api.data.FormError("error.key", "my error")), form.value)

    为噪音道歉——把它留在这里,以防其他人像我一样被卡住。

    关于scala - 玩! 2 斯卡拉 : Adding an error to a form in the controller code proper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12975465/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com