123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- <?php
- /**
- *
- * Cube Framework $Id$ 7pAiTDukr7oq4vps+xXLbJkXlO+JpCai+XggHCwKJes=
- *
- * @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]
- */
- /**
- * identical values validator class
- */
- namespace Cube\Validate;
- class Identical extends AbstractValidate
- {
- protected $_message = "'%s' and '%name%' do not match.";
- /**
- *
- * 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 identical
- *
- * @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;
- }
- }
|