<?php
/**
 * @copyright NetMonsters <team@netmonsters.ru>
 * @link http://netmonsters.ru
 * @package Majestic
 * @subpackage forms
 * @since 17.05.12
 * @author Aleksander Demidov
 *
 */

class MbStrlenValidator extends \Majestic\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;
    }
}