Validation 播放(Scala)表单验证错误

Validation 播放(Scala)表单验证错误,validation,scala,playframework,Validation,Scala,Playframework,我想在Play(Scala)中进行表单验证,我已经做了好几次了,但这次它显示了错误。。错误显示: 重载的方法值[apply]无法应用于 (play.api.data.Mapping[models.PIdetail]) 型号: package models import java.util.Date import play.api.libs.json._ import play.api.libs.functional.syntax._ import anorm._ import anorm.Sq

我想在Play(Scala)中进行表单验证,我已经做了好几次了,但这次它显示了错误。。错误显示:

重载的方法值[apply]无法应用于 (play.api.data.Mapping[models.PIdetail])

型号:

package models

import java.util.Date
import play.api.libs.json._
import play.api.libs.functional.syntax._
import anorm._
import anorm.SqlParser._
import play.api.db.DB
import play.api.Play.current
import models._
case class Purchase_Invoice(supplier_id: String, paid_to_num: String, staff_id: String, paid_to_name: String, staff_name: String, paid_to_addr: String, PI_date: Date, PI_due_date: Date, payment: String, purchase_invoice_items: List[PIdetail], other: String, additional_note: String, terms_and_cond: String)
case class PIdetail(RI_id: Int, PO_id: String, product_id: String, description: String, qty: Int, total: String)
case class RIheader_PI(id_counter: Long, date_RI: Date, staff_id: String, status: Int)
控制器:

package controllers

import play.api._
import play.api.Logger
import play.api.mvc._
import play.api.data._
import play.api.data.Forms._
import play.api.data.format.Formats._
import play.api.mvc.Flash
import play.api.libs.json.Json
import play.api.libs.json._
import models._
object PurchaseInvoices extends Controller {
    val submitPIForm = Form(
        mapping(
            "supplier_id" -> text,
            "paid_to_num" -> text,
            "staff_id" -> text,
            "paid_to_name" -> text,
            "staff_name" -> text,
            "paid_to_addr" -> text,
            "PI_date" -> date,
            "PI_due_date" -> date,
            "payment" -> text,
            "purchase_invoice_items" -> list(
                mapping(
                    "RI_id" -> number,
                    "PO_id" -> text,
                    "product_id" -> text,
                    "description" -> text,
                    "qty" -> number,
                    "total" -> text
                )(PIdetail.apply)(PIdetail.unapply)
            ),
            "other" -> text,
            "additional_note" -> text,
            "terms_and_cond" -> text
        )(Purchase_Invoice.apply)(Purchase_Invoice.unapply)
    )
...................... Some codes
...................... Some codes
}

我真的需要你们的帮助。。谢谢你^^

我自己发现了错误。^
这是因为我的控制器中有
def list=TODO

因此,请确保您没有定义与scala函数同名的函数/变量


很抱歉打扰你们。。。thx^^

我同意,我把你的代码复制到Eclipse中的一个测试项目中,没有发现编译错误。如果您正在使用Eclipse,请尝试清理项目。如果仍然有错误,请将整个代码集发布到github或其他地方。通常,如果你的apply或unapply参数格式不正确,你会得到一个“apply”错误。我使用的是Sublime Text 2。。我也已清除浏览器缓存,但仍不工作。。隐马尔可夫模型。。即使我将其他表单验证放入此对象,它也会显示相同的错误,但不会出现在它们自己的类中。。困惑…@@