/** * Add a validator * @param \callable $func * @return $this Fluent Interface * @throws ValidationException */ public function add($func) { ValidationException::assert(function () use($func) { return !is_callable($func); }, 'function is not callable'); $this->func[] = $func; return $this; }
/** * Constructor * * @param callable $func * @param StringType $msg Error message in event of failure * * @throws ValidationException * @throws static */ public function __construct(callable $func, StringType $msg = null) { ValidationException::assert(function () use($func) { return !is_callable($func); }, 'func'); $this->function = $func; $this->msg = is_null($msg) ? new StringType(self::ERR_LAMBDA) : $msg; }
/** * @expectedException \Chippyash\Validation\Exceptions\ValidationException * @expectedExceptionMessage Test for assert is not callable */ public function testTryingToAssertAValidationExceptionWithANonCallableFunctionWillThrowAValidationException() { ValidationException::assert('foo', 'Test Assertion Failed'); }