Пример #1
0
 * If the field is set to `null`, this means the user intends to delete it so it would return `true`.
 */
Validator::add('allowedFileType', function ($value, $rule, $options) {
    $defaults = ['skipEmpty' => false, 'required' => true, 'validateInCli' => false];
    $options += $defaults;
    if ($options['skipEmpty'] === true || $options['required'] === false) {
        return true;
    }
    if (!$options['validateInCli'] && PHP_SAPI === 'cli') {
        return true;
    }
    if (!isset($_FILES[$options['field']]['error']) && null === $_FILES[$options['field']]) {
        return true;
    }
    $uploaded = $_FILES[$options['field']];
    return Validator::isInList($uploaded['type'], null, ['list' => $options['allowed']]);
});
/**
 * Checks to see if image dimensions are valid.
 * Both, width and height, are optional and will only be checked against if they are specified.
 *
 * In your model:
 * {{{
 * public $validates = [
 *     'avatar' => [
 *         [
 *		'dimensions',
 *		'width' => 45,
 *		'height' => 45,
 *		'message'   => 'The image dimensions must be 45 x 45'
 *         ]
Пример #2
0
 /**
  * Tests 'inList' validation.
  */
 public function testInList()
 {
     $this->assertTrue(Validator::isInList('one', null, array('list' => array('one', 'two'))));
     $this->assertTrue(Validator::isInList('two', null, array('list' => array('one', 'two'))));
     $this->assertFalse(Validator::isInList('3', null, array('list' => array('one', 'two'))));
     $this->assertFalse(Validator::isInList('', null, array('list' => array('0', '1'))));
     $this->assertFalse(Validator::isInList(null, null, array('list' => array('0', '1'))));
     $this->assertFalse(Validator::isInList(false, null, array('list' => array('0', '1'))));
     $this->assertFalse(Validator::isInList(true, null, array('list' => array('0', '1'))));
     $this->assertFalse(Validator::isInList('', null, array('list' => array(0, 1))));
     $this->assertFalse(Validator::isInList(null, null, array('list' => array(0, 1))));
     $this->assertFalse(Validator::isInList(false, null, array('list' => array(0, 1))));
     $this->assertFalse(Validator::isInList(true, null, array('list' => array(0, 1))));
     $this->assertTrue(Validator::isInList(0, null, array('list' => array(0, 1))));
     $this->assertTrue(Validator::isInList(1, null, array('list' => array(0, 1))));
     $this->assertFalse(Validator::isInList(2, null, array('list' => array(0, 1))));
     $this->assertTrue(Validator::isInList(0, null, array('list' => array('0', '1'))));
     $this->assertTrue(Validator::isInList('1', null, array('list' => array('0', '1'))));
     $this->assertTrue(Validator::isInList(1, null, array('list' => array('0', '1'))));
     $this->assertTrue(Validator::isInList('1', null, array('list' => array('0', '1'))));
     $this->assertFalse(Validator::isInList(2, null, array('list' => array('0', '1'))));
     $this->assertFalse(Validator::isInList('2', null, array('list' => array('0', '1'))));
 }
Пример #3
0
 /**
  * Tests 'inList' validation.
  *
  * @return void
  */
 function testInList()
 {
     $this->assertTrue(Validator::isInList('one', null, array('list' => array('one', 'two'))));
     $this->assertTrue(Validator::isInList('two', null, array('list' => array('one', 'two'))));
     $this->assertFalse(Validator::isInList('3', null, array('list' => array('one', 'two'))));
 }