Completed
Push — setOptions ( efadd2...b89ecc )
by no
03:32 queued 01:28
created

ListValidator::enableWhitelistRestrictions()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 3
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace ValueValidators;
4
5
/**
6
 * ValueValidator that validates a list of values.
7
 *
8
 * @since 0.1
9
 *
10
 * @licence GNU GPL v2+
11
 * @author Jeroen De Dauw < [email protected] >
12
 */
13
class ListValidator extends ValueValidatorObject {
14
15
	/**
16
	 * @see ValueValidatorObject::doValidation
17
	 *
18
	 * @since 0.1
19
	 *
20
	 * @param mixed $value
21
	 */
22
	public function doValidation( $value ) {
23
		if ( !is_array( $value ) ) {
24
			$this->addErrorMessage( 'Not an array' );
25
			return;
26
		}
27
28
		$optionMap = array(
29
			'elementcount' => 'range',
30
			'maxelements' => 'upperbound',
31
			'minelements' => 'lowerbound',
32
		);
33
34
		$this->runSubValidator( count( $value ), new RangeValidator(), 'length', $optionMap );
35
	}
36
37
	/**
38
	 * @see ValueValidatorObject::enableWhitelistRestrictions
39
	 *
40
	 * @since 0.1
41
	 *
42
	 * @return boolean
43
	 */
44
	protected function enableWhitelistRestrictions() {
45
		return false;
46
	}
47
48
}
49