我正在使用scalaz验证,并且有一些用于验证产品的代码。
def validateProduct(product: Option[Product]): ValidationNel[String, Product] = ???
给定一个产品列表,我希望得到一个包含整个列表作为成功值或验证错误列表的单个验证。似乎某种折叠应该可以做到这一点,但是我不确定组合函数应该是什么。
def validateProducts(products: Seq[Option[Product]]): ValidationNel[String, Seq[Product]] = {
val listOfValidations: Seq[ValidationNel[String, Product]] = products.map(validateProduct _)
val validatedList:ValidationNel[Seq[String], Seq[Product]] = ??? // what to do here?
???
}
感谢您的任何帮助。