/** * @return string */ private function getTestTo() { if ($this->fails()) { throw new \RuntimeException(); } return $this->dio->get('testTo'); }
/** * @test */ function multiple_input() { $input = ['a_y1' => '2014', 'a_m1' => '05', 'a_d1' => '01', 'a_y2' => '2014', 'a_m2' => '07']; $this->validate->source($input); $this->validate->asText('a')->multiple(['suffix' => 'y1,m1,y2,m2', 'format' => '%04d/%02d - %04d/%02d'])->required(); $found = $this->validate->get('a'); $this->assertEquals('2014/05 - 2014/07', $found); }
/** * @param Dio $dio * @param array|Rules $rules * @return array|Rules */ public static function prepare_requiredIf($dio, $rules) { if (!self::arrGet($rules, 'requiredIf')) { return $rules; } $args = $rules['requiredIf']; if (!is_array($args)) { $flag_name = $args; $flags_in = null; } else { $flag_name = $args[0]; $flags_in = array_key_exists(1, $args) ? (array) $args[1] : null; } $flag_value = $dio->get($flag_name); if ((string) $flag_value === '') { return $rules; } if ($flags_in && !in_array($flag_value, $flags_in)) { return $rules; } $rules['required'] = true; return $rules; }