예제 #1
0
 public function testIsInRange()
 {
     $lower = 1;
     $upper = 10;
     $value = 0;
     $result = Validator::isInRange($value, null, compact('lower', 'upper'));
     $this->assertFalse($result);
     $value = 1;
     $result = Validator::isInRange($value, null, compact('lower', 'upper'));
     $this->assertTrue($result);
     $value = 5;
     $result = Validator::isInRange($value, null, compact('lower', 'upper'));
     $this->assertTrue($result);
     $value = 10;
     $result = Validator::isInRange($value, null, compact('lower', 'upper'));
     $this->assertTrue($result);
     $value = 11;
     $result = Validator::isInRange($value, null, compact('lower', 'upper'));
     $this->assertFalse($result);
     $result = Validator::isInRange(-1, null, array('upper' => 1));
     $this->assertTrue($result);
     $result = Validator::isInRange(1, null, array('upper' => 1));
     $this->assertTrue($result);
     $result = Validator::isInRange(2, null, array('upper' => 1));
     $this->assertFalse($result);
     $result = Validator::isInRange(2, null, array('lower' => 1));
     $this->assertTrue($result);
     $result = Validator::isInRange(1, null, array('lower' => 1));
     $this->assertTrue($result);
     $result = Validator::isInRange(0, null, array('lower' => 1));
     $this->assertFalse($result);
     $this->assertTrue(Validator::isInRange(0));
 }
예제 #2
0
    $in = $options['in'];
    $unit = strtolower(array_pop($in));
    if (count($in) != 2) {
        throw new ConfigException('You must specify an upper and lower bound for `in`.');
    }
    if (!Validator::isInList($unit, null, ['list' => $suffixes])) {
        throw new ConfigException("Invalid unit `{$unit}` for size.");
    }
    if (!isset($_FILES[$options['field']]['error']) && null === $_FILES[$options['field']]) {
        return true;
    }
    $uploaded = $_FILES[$options['field']];
    list($lowerBound, $upperBound) = $in;
    $lower = round($lowerBound * pow(1024, $suffixes[$unit]));
    $upper = round($upperBound * pow(1024, $suffixes[$unit]));
    return Validator::isInRange($uploaded['size'], null, compact('lower', 'upper'));
});
/**
 * Checks to see if the uploaded file is of an allowed file type.
 *
 * In your model:
 * {{{
 * public $validates = [
 *     'avatar' => [
 *         [
 *	            'allowedFileType',
 *	            'message' => 'Please upload a JPG, PNG or GIF image.',
 *				'allowed' => [
 *					'image/png',
 *					'image/x-png',
 *					'image/jpeg',