My favorites | Sign in
yii
Project Home Downloads Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
/**
* CDefaultValueValidator class file.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link http://www.yiiframework.com/
* @copyright Copyright &copy; 2008-2011 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/

/**
* CDefaultValueValidator sets the attributes with the specified value.
* It does not do validation. Its existence is mainly to allow
* specifying attribute default values in a dynamic way.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @version $Id$
* @package system.validators
*/
class CDefaultValueValidator extends CValidator
{
/**
* @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 value is null or empty string.
* Defaults to true. If false, the attribute will always be assigned with the default value,
* even if it is already explicitly assigned a value.
*/
public $setOnEmpty=true;

/**
* Validates the attribute of the object.
* @param CModel $object the object being validated
* @param string $attribute the attribute being validated
*/
protected function validateAttribute($object,$attribute)
{
if(!$this->setOnEmpty)
$object->$attribute=$this->value;
else
{
$value=$object->$attribute;
if($value===null || $value==='')
$object->$attribute=$this->value;
}
}
}

Change log

r3527 by qiang.xue on Dec 31, 2011   Diff
1.1.9 release.
Go to: 
Sign in to write a code review

Older revisions

r3515 by mdomba on Dec 28, 2011   Diff
removed 1.0.x reference from
documentation
r2799 by qiang.xue on Jan 1, 2011   Diff
changed copyright year.
r2497 by mdomba on Sep 23, 2010   Diff
Updated PHPDoc @param parameter names
All revisions of this file

File info

Size: 1390 bytes, 50 lines

File properties

svn:keywords
Id
Powered by Google Project Hosting