Мы используем свойство валидации scalaz в нашем проекте для проверки параметров HTTP. Обычный случай принимает несколько подтвержденных значений и выполняет необходимые действия только в том случае, если все они действительны, возвращая список ошибок в противном случае:
(pavam1Val.liftFailNel |@|
param2Val.liftFailNel |@|
param3Val.liftFailNel) {
getSomeResponse(_, _, _)
}
Это работает хорошо, пока мы не будем использовать более 8 параметров, потому что | @| оператор-конструктор ApplicativeBuilder, который ограничен 8 аргументами. Есть ли другой способ выполнить такую проверку "все в один раз", предпочтительно, чтобы код читался?