public function testFieldOption()
{
Validator::add('isInArray', function ($data, $params, $options) {
$existing = array('number' => array('one', 'two', 'three'), 'name' => array('bob', 'bill'));
$isSet = isset($existing[$options['field']]);
$inArray = in_array($data, $existing[$options['field']]);
return isset($options['field']) && $isSet && $inArray;
});
$fieldValidationRules = array('number' => array('rule' => array('isInArray')), 'name' => array('rule' => array('isInArray')));
$result = Validator::check(array('number' => 'one', 'name' => 'bob'), $fieldValidationRules);
$this->assertEmpty($result);
$result = Validator::check(array('number' => 'four', 'name' => 'bob'), $fieldValidationRules);
$this->assertNotEmpty($result);
$result = Validator::check(array('number' => 'one', 'name' => 'rex'), $fieldValidationRules);
$this->assertNotEmpty($result);
}