Validators

IsInt

Zend\I18n\Validator\IsInt validates if a given value is an integer, using the locale provided.

Integer values are often written differently based on country or region. For example, using English, you may write 1234 or 1,234; both are integer values, but the grouping is optional. In German, you'd write 1.234, and in French, 1 234.

Zend\I18n\Validator\IsInt will use a provided locale when evaluating the validity of an integer value. In such cases, it doesn't simply strip the separator, but instead validates that the correct separator as defined by the locale is used.

Basic Usage

$validator = new Zend\I18n\Validator\IsInt();

$validator->isValid(1234);    // returns true
$validator->isValid(1234.5);  // returns false
$validator->isValid('1,234'); // returns true

By default, if no locale is provided, IsInt will use the system locale provide by PHP's Locale class and the getDefault() method.

(The above example assumes that the environment locale is set to en.)

Using a notation not specific to the locale results in a false evaulation.

Using Locale

$validator = new Zend\I18n\Validator\IsInt(['locale' => 'en_US']);

$validator->isValid(1234); // true
$validator = new Zend\I18n\Validator\IsInt();
$validator->setLocale('en_US');

$validator->isValid(1234); // true
Locale::setDefault('en_US');

$validator = new Zend\I18n\Validator\IsInt();

$validator->isValid(1234); // true

Get Current Value

To get the current value of this option, use the getLocale() method.

$validator = new Zend\I18n\Validator\IsInt(['locale' => 'en_US']);

echo $validator->getLocale(); // 'en_US'

Default Value

By default, if no locale is provided, IsInt will use the system locale provide by PHP's Locale::getDefault().

Strict Validation

By default, the value's data type is not enforced.

$validator = new Zend\I18n\Validator\IsInt();

$validator->isValid(1234);   // true
$validator->isValid('1234'); // true

To enforced a strict validation set the strict option to true.

$validator = new Zend\I18n\Validator\IsInt(['strict' => true]);

$validator->isValid(1234);   // true
$validator->isValid('1234'); // false
$validator = new Zend\I18n\Validator\IsInt();
$validator->setStrict(true)

$validator->isValid(1234);   // true
$validator->isValid('1234'); // false

Get Current Value

To get the current value of this option, use the getStrict() method.

$validator = new Zend\I18n\Validator\IsInt(['strict' => true]);

echo $validator->getStrict(); // true

Default Value

The default value of this option is false.

Found a mistake or want to contribute to the documentation? Edit this page on GitHub!