| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 | <?php/** * * Cube Framework $Id$ zRfBEEX0DwtwGKqmOcgeTBK30dOWtPE36bOyjKdNL+0= * * @link        http://codecu.be/framework * @copyright   Copyright (c) 2017 CodeCube SRL * @license     http://codecu.be/framework/license Commercial License * * @version     1.10 [rev.1.10.01] *//** * different values validator class */namespace Cube\Validate;class Different extends AbstractValidate{    protected $_message = "'%s' and '%name%' must have different values.";    /**     *     * check for strict values     *     * @var bool     */    private $_strict = true;    /**     *     * variable name     *     * @var string     */    private $_variableName;    /**     *     * variable value     *     * @var mixed     */    private $_variableValue;    /**     *     * class constructor     *     * initialize the variable name and value plus if the matching is strict or not     *     * @param array $data       data[0] -> variable name;     *                          data[1] -> variable value;     *                          data[2] -> strict comparison     */    public function __construct(array $data = null)    {        if (isset($data[0])) {            $this->setVariableName($data[0]);        }        if (isset($data[1])) {            $this->setVariableValue($data[1]);        }        if (isset($data[2])) {            $this->setStrict($data[2]);        }    }    /**     *     * get strict value     *     * @return bool     */    public function getStrict()    {        return $this->_strict;    }    /**     *     * set strict value     *     * @param bool $strict     *     * @return $this     */    public function setStrict($strict = true)    {        $this->_strict = $strict;        return $this;    }    /**     *     * get variable name     *     * @return string     */    public function getVariableName()    {        return $this->_variableName;    }    /**     *     * set variable name     *     * @param string $variableName     *     * @return $this     */    public function setVariableName($variableName)    {        $this->_variableName = $variableName;        return $this;    }    /**     *     * get variable value     *     * @return mixed     */    public function getVariableValue()    {        return $this->_variableValue;    }    /**     *     * set variable value (can be a string, number, bool, array, object etc)     *     * @param mixed $variableValue     *     * @return $this     */    public function setVariableValue($variableValue)    {        $this->_variableValue = $variableValue;        return $this;    }    /**     *     * returns true if the values are different     *     * @return bool          return true if the validation is successful     */    public function isValid()    {        $this->setMessage(            str_replace('%name%', $this->_variableName, $this->getMessage()));        if (($this->_strict && ($this->_value === $this->_variableValue)) ||            (!$this->_strict && ($this->_value == $this->_variableValue))        ) {            return false;        }        return true;    }}
 |