You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
819 B
39 lines
819 B
<?php
|
|
/**
|
|
* @copyright NetMonsters <team@netmonsters.ru>
|
|
* @link http://netmonsters.ru
|
|
* @package Majestic
|
|
* @subpackage forms
|
|
* @since 17.05.12
|
|
* @author Aleksander Demidov
|
|
*
|
|
*/
|
|
|
|
class MbStrlenValidator extends Validator
|
|
{
|
|
|
|
const GREATHER_THAN = 'not_match';
|
|
|
|
protected $templates = array(self::GREATHER_THAN => 'String length greather than.');
|
|
|
|
protected $token;
|
|
|
|
public function __construct($token)
|
|
{
|
|
$this->token = $token;
|
|
}
|
|
|
|
public function isValid($value, $context = null)
|
|
{
|
|
$this->setValue($value);
|
|
if ($this->token === null) {
|
|
throw new InitializationException('Token not defined.');
|
|
}
|
|
|
|
if (mb_strlen($value) > $this->token) {
|
|
$this->error();
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
}
|