public function setUp() { ArrayValidator::registerRule('comparePasswords', function ($value, $data) { return new FieldValidationResult($value == $data['password1'], $value); }); $this->validator = ArrayValidator::loadJson(__DIR__ . '/test.json'); }
public function setUp() { ArrayValidator::registerRule('comparePasswords', function ($value, $data) { return new FieldValidationResult($value == $data['password1'], $value); }); $this->validator = new ArrayValidator(); $this->validator->configure(array('name' => array('required'), 'password1' => array('required'), 'password2' => array('required', 'comparePasswords'), 'age' => array(array('range', 18, 100))), array('required' => 'Please fill #field#', 'comparePasswords' => 'passwords must be same', 'range' => '#field# must be in range between #from# and #to#'), array('name' => 'your name', 'age' => 'age')); }
/** * Callback rule must return instance of FieldValidationResult * * @expectedException Exception */ public function testCallbackResult() { ArrayValidator::registerRule('uniqueName', function ($value, $data) { return true; }); $validator = new ArrayValidator(); $validator->field('name', ['uniqueName']); $validator->validate(array('name' => 'vtk')); }