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

Public Member Functions

 __construct ($options=[])
 Constructor for the integer validator.
 
 getLocale ()
 Returns the set locale.
 
 setLocale ($locale)
 Sets the locale to use.
 
 isValid ($value)
 Returns true if and only if $value is a floating-point value.
 
- 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 INVALID = 'floatInvalid'
 
const NOT_FLOAT = 'notFloat'
 

Protected Attributes

 $messageTemplates
 
 $locale
 
 $wrapper
 
- 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
 

Constructor & Destructor Documentation

__construct (   $options = [])

Constructor for the integer validator.

Parameters
array | Traversable$options
Exceptions
Exception\ExtensionNotLoadedExceptionif ext/intl is not present

Member Function Documentation

getLocale ( )

Returns the set locale.

Returns
string
isValid (   $value)

Returns true if and only if $value is a floating-point value.

Uses the formal definition of a float as described in the PHP manual: http://www.php.net/float

Parameters
string$value
Returns
bool
Exceptions
Exception\InvalidArgumentException

There are seperator "look-alikes" for decimal and group seperators that are more commonly used than the official unicode chracter. We need to replace those with the real thing - or remove it.

Match against the formal definition of a float. The exponential number check is modified for RTL non-Latin number systems (Arabic-Indic numbering). I'm also switching out the period for the decimal separator. The formal definition leaves out +- from the integer and decimal notations so add that. This also checks that a grouping sperator is not in the last GROUPING_SIZE graphemes of the string - i.e. 10,6 is not valid for en-US.

See Also
http://www.php.net/float

Implements ValidatorInterface.

setLocale (   $locale)

Sets the locale to use.

Parameters
string | null$locale
Returns
Float

Member Data Documentation

$locale
protected
$messageTemplates
protected
Initial value:
= [
self::INVALID => "Invalid type given. String, integer or float expected"
$wrapper
protected
const INVALID = 'floatInvalid'
const NOT_FLOAT = 'notFloat'