Zend Framework  3.0
Public Member Functions | Public Attributes | Protected Attributes | List of all members
InArray Class Reference

Public Member Functions

 getHaystack ()
 Returns the haystack option.
 
 setHaystack (array $haystack)
 Sets the haystack option.
 
 getStrict ()
 Returns the strict option.
 
 setStrict ($strict)
 Sets the strict option mode InArray::COMPARE_STRICT | InArray::COMPARE_NOT_STRICT_AND_PREVENT_STR_TO_INT_VULNERABILITY | InArray::COMPARE_NOT_STRICT.
 
 getRecursive ()
 Returns the recursive option.
 
 setRecursive ($recursive)
 Sets the recursive option.
 
 isValid ($value)
 Returns true if and only if $value is contained in the haystack option.
 
- Public Member Functions inherited from AbstractValidator
 __construct ($options=null)
 Abstract constructor for all validators A validator should accept following parameters:
 
 getOption ($option)
 Returns an option.
 
 getOptions ()
 Returns all available options.
 
 setOptions ($options=[])
 Sets one or multiple options.
 
 getMessages ()
 Returns array of validation failure messages.
 
 __invoke ($value)
 Invoke as command.
 
 getMessageVariables ()
 Returns an array of the names of variables that are used in constructing validation failure messages.
 
 getMessageTemplates ()
 Returns the message templates from the validator.
 
 setMessage ($messageString, $messageKey=null)
 Sets the validation failure message template for a particular key.
 
 setMessages (array $messages)
 Sets validation failure message templates given as an array, where the array keys are the message keys, and the array values are the message template strings.
 
 __get ($property)
 Magic function returns the value of the requested property, if and only if it is the value or a message variable.
 
 setValueObscured ($flag)
 Set flag indicating whether or not value should be obfuscated in messages.
 
 isValueObscured ()
 Retrieve flag indicating whether or not value should be obfuscated in messages.
 
 setTranslator (Translator\TranslatorInterface $translator=null, $textDomain=null)
 Set translation object.
 
 getTranslator ()
 Return translation object.
 
 hasTranslator ()
 Does this validator have its own specific translator?
 
 setTranslatorTextDomain ($textDomain= 'default')
 Set translation text domain.
 
 getTranslatorTextDomain ()
 Return the translation text domain.
 
 setTranslatorEnabled ($flag=true)
 Indicate whether or not translation should be enabled.
 
 isTranslatorEnabled ()
 Is translation enabled?
 
- Public Member Functions inherited from TranslatorAwareInterface
 setTranslator (TranslatorInterface $translator=null, $textDomain=null)
 Sets translator to use in helper.
 

Public Attributes

const NOT_IN_ARRAY = 'notInArray'
 
const COMPARE_STRICT = 1
 standard in_array strict checking value and type
 
const COMPARE_NOT_STRICT_AND_PREVENT_STR_TO_INT_VULNERABILITY = 0
 Non strict check but prevents "asdf" == 0 returning TRUE causing false/positive.
 
const COMPARE_NOT_STRICT = -1
 Standard non-strict check where "asdf" == 0 returns TRUE This will be wanted when comparing "0" against int 0.
 

Protected Attributes

 $messageTemplates
 
 $haystack
 
 $strict = self::COMPARE_NOT_STRICT_AND_PREVENT_STR_TO_INT_VULNERABILITY
 
 $recursive = false
 
- Protected Attributes inherited from AbstractValidator
 $value
 
 $abstractOptions
 

Additional Inherited Members

- Static Public Member Functions inherited from AbstractValidator
static setDefaultTranslator (Translator\TranslatorInterface $translator=null, $textDomain=null)
 Set default translation object for all validate objects.
 
static getDefaultTranslator ()
 Get default translation object for all validate objects.
 
static hasDefaultTranslator ()
 Is there a default translation object set?
 
static setDefaultTranslatorTextDomain ($textDomain= 'default')
 Set default translation text domain for all validate objects.
 
static getDefaultTranslatorTextDomain ()
 Get default translation text domain for all validate objects.
 
static getMessageLength ()
 Returns the maximum allowed message length.
 
static setMessageLength ($length=-1)
 Sets the maximum allowed message length.
 
- Protected Member Functions inherited from AbstractValidator
 createMessage ($messageKey, $value)
 Constructs and returns a validation failure message with the given message key and value.
 
 error ($messageKey, $value=null)
 
 getValue ()
 Returns the validation value.
 
 setValue ($value)
 Sets the value to be validated and clears the messages and errors arrays.
 
 translateMessage ($messageKey, $message)
 Translate a validation message.
 
- Static Protected Attributes inherited from AbstractValidator
static $defaultTranslator
 
static $defaultTranslatorTextDomain = 'default'
 
static $messageLength = -1
 

Member Function Documentation

getHaystack ( )

Returns the haystack option.

Returns
mixed
Exceptions
Exception\RuntimeExceptionif haystack option is not set
getRecursive ( )

Returns the recursive option.

Returns
bool
getStrict ( )

Returns the strict option.

Returns
bool|int
isValid (   $value)

Returns true if and only if $value is contained in the haystack option.

If the strict option is true, then the type of $value is also checked.

Parameters
mixed$valueSee http://php.net/manual/function.in-array.php#104501
Returns
bool

If the check is not strict, then, to prevent "asdf" being converted to 0 and returning a false positive if 0 is in haystack, we type cast the haystack to strings. To prevent "56asdf" == 56 === TRUE we also type cast values like 56 to strings as well.

This occurs only if the input is a string and a haystack member is an int

Implements ValidatorInterface.

setHaystack ( array  $haystack)

Sets the haystack option.

Parameters
mixed$haystack
Returns
InArray Provides a fluent interface
setRecursive (   $recursive)

Sets the recursive option.

Parameters
bool$recursive
Returns
InArray Provides a fluent interface
setStrict (   $strict)

Sets the strict option mode InArray::COMPARE_STRICT | InArray::COMPARE_NOT_STRICT_AND_PREVENT_STR_TO_INT_VULNERABILITY | InArray::COMPARE_NOT_STRICT.

Parameters
int$strict
Returns
InArray Provides a fluent interface
Exceptions
Exception\InvalidArgumentException

Member Data Documentation

$haystack
protected
$messageTemplates
protected
Initial value:
= [
self::NOT_IN_ARRAY => 'The input was not found in the haystack'
$recursive = false
protected
$strict = self::COMPARE_NOT_STRICT_AND_PREVENT_STR_TO_INT_VULNERABILITY
protected
const COMPARE_NOT_STRICT = -1

Standard non-strict check where "asdf" == 0 returns TRUE This will be wanted when comparing "0" against int 0.

const COMPARE_NOT_STRICT_AND_PREVENT_STR_TO_INT_VULNERABILITY = 0

Non strict check but prevents "asdf" == 0 returning TRUE causing false/positive.

This is the most secure option for non-strict checks and replaces strict = false This will only be effective when the input is a string

const COMPARE_STRICT = 1

standard in_array strict checking value and type

const NOT_IN_ARRAY = 'notInArray'