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.
		
		
		
		
		
			
		
			
				
					
					
						
							44 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							44 lines
						
					
					
						
							1.1 KiB
						
					
					
				<?php | 
						|
 | 
						|
namespace yiiunit\data\validators; | 
						|
 | 
						|
 | 
						|
use yii\validators\Validator; | 
						|
 | 
						|
class TestValidator extends Validator | 
						|
{ | 
						|
	private $_validatedAttributes = array(); | 
						|
	private $_setErrorOnValidateAttribute = false; | 
						|
 | 
						|
	public function validateAttribute($object, $attribute) | 
						|
	{ | 
						|
		$this->markAttributeValidated($attribute); | 
						|
		if ($this->_setErrorOnValidateAttribute == true) { | 
						|
			$this->addError($object, $attribute, sprintf('%s##%s', $attribute, get_class($object))); | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	protected function markAttributeValidated($attr, $increaseBy = 1) | 
						|
	{ | 
						|
		if (!isset($this->_validatedAttributes[$attr])) { | 
						|
			$this->_validatedAttributes[$attr] = 1; | 
						|
		} else { | 
						|
			$this->_validatedAttributes[$attr] = $this->_validatedAttributes[$attr] + $increaseBy; | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	public function countAttributeValidations($attr) | 
						|
	{ | 
						|
		return isset($this->_validatedAttributes[$attr]) ? $this->_validatedAttributes[$attr] : 0; | 
						|
	} | 
						|
 | 
						|
	public function isAttributeValidated($attr) | 
						|
	{ | 
						|
		return isset($this->_validatedAttributes[$attr]); | 
						|
	} | 
						|
 | 
						|
	public function enableErrorOnValidateAttribute() | 
						|
	{ | 
						|
		$this->_setErrorOnValidateAttribute = true; | 
						|
	} | 
						|
} |