我们在项目中使用 scalaz 验证特征来验证 HTTP 参数。常见的情况是仅在所有验证值都有效时才采用少量验证值并执行必要的操作,否则返回错误列表:
(pavam1Val.liftFailNel |@|
param2Val.liftFailNel |@|
param3Val.liftFailNel) {
getSomeResponse(_, _, _)
}
这很好用,直到我们必须使用超过 8 个参数,因为 |@| 运算符构造 ApplicativeBuilder,它限制为 8 个参数。是否有另一种方法来执行这种一次性验证,最好是保持代码可读?