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.
		
		
		
		
		
			
		
			
				
					
					
						
							50 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							50 lines
						
					
					
						
							1.5 KiB
						
					
					
				| <?php | |
| /** | |
|  * DefaultValueValidator class file. | |
|  * | |
|  * @link http://www.yiiframework.com/ | |
|  * @copyright Copyright © 2008-2012 Yii Software LLC | |
|  * @license http://www.yiiframework.com/license/ | |
|  */ | |
|  | |
| namespace yii\validators; | |
|  | |
| /** | |
|  * DefaultValueValidator sets the attribute to be the specified default value. | |
|  * | |
|  * By default, when the attribute being validated is [[isEmpty|empty]], the validator | |
|  * will assign a default [[value]] to it. However, if [[setOnEmpty]] is false, the validator | |
|  * will always assign the default [[value]] to the attribute, no matter it is empty or not. | |
|  * | |
|  * DefaultValueValidator is not really a validator. It is provided mainly to allow | |
|  * specifying attribute default values in a dynamic way. | |
|  * | |
|  * @author Qiang Xue <qiang.xue@gmail.com> | |
|  * @since 2.0 | |
|  */ | |
| class DefaultValueValidator extends Validator | |
| { | |
| 	/** | |
| 	 * @var mixed the default value to be set to the specified attributes. | |
| 	 */ | |
| 	public $value; | |
| 	/** | |
| 	 * @var boolean whether to set the default [[value]] only when the attribute is [[isEmpty|empty]]. | |
| 	 * Defaults to true. If false, the attribute will always be assigned with the default [[value]], | |
| 	 * no matter it is empty or not. | |
| 	 */ | |
| 	public $setOnEmpty = true; | |
|  | |
| 	/** | |
| 	 * Validates the attribute of the object. | |
| 	 * @param \yii\base\Model $object the object being validated | |
| 	 * @param string $attribute the attribute being validated | |
| 	 */ | |
| 	public function validateAttribute($object, $attribute) | |
| 	{ | |
| 		if (!$this->setOnEmpty || $this->isEmpty($object->$attribute)) { | |
| 			$object->$attribute = $this->value; | |
| 		} | |
| 	} | |
| } | |
| 
 | |
| 
 |