/**
  * 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;
 }
Example #2
0
 /**
  * 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');
 }