for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* Linna Filter
*
* @author Sebastian Rapetti <[email protected]>
* @copyright (c) 2018, Sebastian Rapetti
* @license http://opensource.org/licenses/MIT MIT License
*/
declare(strict_types=1);
namespace Linna\Filter\Rules;
* Check if provided value is a number.
class Number extends AbstractNumber implements RuleSanitizeInterface, RuleValidateInterface
{
* @var array Rule properties
public static $config = [
'full_class' => __CLASS__,
'alias' => ['number', 'num', 'n'],
'args_count' => 0,
'args_type' => []
];
* @var string Error message
private $message = '';
* Validate.
* @return bool
public function validate(): bool
$args = \func_get_args();
return $this->concreteValidate($args[0]);
}
* Concrete validate.
* @param int|float $received
private function concreteValidate($received): bool
if (!\is_numeric($received)) {
is_numeric($received)
true
$this->message = "Received value is not a number";
return true;
return false;
* Return error message.
* @return string Error message
public function getMessage(): string
return $this->message;