/**
  * Sets current model.
  *
  * Appends validator data model, runs sometimes closures.
  *
  * @param array $data Data model to be validated.
  * @param bool $isNew Flag that shows of model is new or being updated.
  *
  * @return $this
  */
 public function setModel(array $data = [], $isNew = true)
 {
     $this->data = $data;
     $this->validator = new \Illuminate\Validation\Validator($this->translator, $this->data, $this->getRules($isNew), $this->getMessages());
     $this->validator->setPresenceVerifier($this->presenceVerifier);
     $this->sometimes($this->validator, $isNew);
     return $this;
 }
Exemple #2
0
 public function testValidationExists()
 {
     $trans = $this->getRealTranslator();
     $v = new Validator($trans, array('email' => 'foo'), array('email' => 'Exists:users'));
     $mock = m::mock('Illuminate\\Validation\\PresenceVerifierInterface');
     $mock->shouldReceive('getCount')->once()->with('users', 'email', 'foo')->andReturn(true);
     $v->setPresenceVerifier($mock);
     $this->assertTrue($v->passes());
     $v = new Validator($trans, array('email' => 'foo'), array('email' => 'Exists:users,email_addr'));
     $mock2 = m::mock('Illuminate\\Validation\\PresenceVerifierInterface');
     $mock2->shouldReceive('getCount')->once()->with('users', 'email_addr', 'foo')->andReturn(false);
     $v->setPresenceVerifier($mock2);
     $this->assertFalse($v->passes());
     $v = new Validator($trans, array('email' => array('foo')), array('email' => 'Exists:users,email_addr'));
     $mock3 = m::mock('Illuminate\\Validation\\PresenceVerifierInterface');
     $mock3->shouldReceive('getMultiCount')->once()->with('users', 'email_addr', array('foo'))->andReturn(false);
     $v->setPresenceVerifier($mock3);
     $this->assertFalse($v->passes());
 }