/** * Do the validation * * @param mixed $value * @return boolean */ protected function validate($value) { return Match::on(Option::create($this->validator->isValid($value), false))->Monad_Option_Some(true)->Monad_Option_None(function () { $msgs = $this->validator->getMessages(); array_walk($msgs, function ($msg) { $this->messenger->add(new StringType($msg)); }); return false; })->value(); }