0 follower

CFormModel

Package system.web
Inheritance class CFormModel » CModel » CComponent
Implements ArrayAccess, Traversable, IteratorAggregate
Subclasses CCodeModel
Since 1.0
Source Code framework/web/CFormModel.php
CFormModel represents a data model that collects HTML form inputs.

Unlike CActiveRecord, the data collected by CFormModel are stored in memory only, instead of database.

To collect user inputs, you may extend CFormModel and define the attributes whose values are to be collected from user inputs. You may override rules() to declare validation rules that should be applied to the attributes.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
attributes array Returns all attribute values. CModel
errors array Returns the errors for all attribute or a single attribute. CModel
iterator CMapIterator Returns an iterator for traversing the attributes in the model. CModel
safeAttributeNames array Returns the attribute names that are safe to be massively assigned. CModel
scenario string Returns the scenario that this model is used in. CModel
validatorList CList Returns all the validators declared in the model. CModel
validators array Returns the validators applicable to the current scenario. CModel

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the named method which is not a class method. CComponent
__construct() Constructor. CFormModel
__get() Returns a property value, an event handler list or a behavior based on its name. CComponent
__isset() Checks if a property value is null. CComponent
__set() Sets value of a component property. CComponent
__unset() Sets a component property to be null. CComponent
addError() Adds a new error to the specified attribute. CModel
addErrors() Adds a list of errors. CModel
asa() Returns the named behavior object. CComponent
attachBehavior() Attaches a behavior to this component. CComponent
attachBehaviors() Attaches a list of behaviors to the component. CComponent
attachEventHandler() Attaches an event handler to an event. CComponent
attributeLabels() Returns the attribute labels. CModel
attributeNames() Returns the list of attribute names. CFormModel
behaviors() Returns a list of behaviors that this model should behave as. CModel
canGetProperty() Determines whether a property can be read. CComponent
canSetProperty() Determines whether a property can be set. CComponent
clearErrors() Removes errors for all attributes or a single attribute. CModel
createValidators() Creates validator objects based on the specification in rules. CModel
detachBehavior() Detaches a behavior from the component. CComponent
detachBehaviors() Detaches all behaviors from the component. CComponent
detachEventHandler() Detaches an existing event handler. CComponent
disableBehavior() Disables an attached behavior. CComponent
disableBehaviors() Disables all behaviors attached to this component. CComponent
enableBehavior() Enables an attached behavior. CComponent
enableBehaviors() Enables all behaviors attached to this component. CComponent
evaluateExpression() Evaluates a PHP expression or callback under the context of this component. CComponent
generateAttributeLabel() Generates a user friendly attribute label. CModel
getAttributeLabel() Returns the text label for the specified attribute. CModel
getAttributes() Returns all attribute values. CModel
getError() Returns the first error of the specified attribute. CModel
getErrors() Returns the errors for all attribute or a single attribute. CModel
getEventHandlers() Returns the list of attached event handlers for an event. CComponent
getIterator() Returns an iterator for traversing the attributes in the model. CModel
getSafeAttributeNames() Returns the attribute names that are safe to be massively assigned. CModel
getScenario() Returns the scenario that this model is used in. CModel
getValidatorList() Returns all the validators declared in the model. CModel
getValidators() Returns the validators applicable to the current scenario. CModel
hasErrors() Returns a value indicating whether there is any validation error. CModel
hasEvent() Determines whether an event is defined. CComponent
hasEventHandler() Checks whether the named event has attached handlers. CComponent
hasProperty() Determines whether a property is defined. CComponent
init() Initializes this model. CFormModel
isAttributeRequired() Returns a value indicating whether the attribute is required. CModel
isAttributeSafe() Returns a value indicating whether the attribute is safe for massive assignments. CModel
offsetExists() Returns whether there is an element at the specified offset. CModel
offsetGet() Returns the element at the specified offset. CModel
offsetSet() Sets the element at the specified offset. CModel
offsetUnset() Unsets the element at the specified offset. CModel
onAfterConstruct() This event is raised after the model instance is created by new operator. CModel
onAfterValidate() This event is raised after the validation is performed. CModel
onBeforeValidate() This event is raised before the validation is performed. CModel
onUnsafeAttribute() This method is invoked when an unsafe attribute is being massively assigned. CModel
raiseEvent() Raises an event. CComponent
rules() Returns the validation rules for attributes. CModel
setAttributes() Sets the attribute values in a massive way. CModel
setScenario() Sets the scenario for the model. CModel
unsetAttributes() Sets the attributes to be null. CModel
validate() Performs the validation. CModel

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
afterConstruct() This method is invoked after a model instance is created by new operator. CModel
afterValidate() This method is invoked after validation ends. CModel
beforeValidate() This method is invoked before validation starts. CModel

Events

Hide inherited events

EventDescriptionDefined By
onAfterConstruct This event is raised after the model instance is created by new operator. CModel
onBeforeValidate This event is raised before the validation is performed. CModel
onAfterValidate This event is raised after the validation is performed. CModel
onUnsafeAttribute This method is invoked when an unsafe attribute is being massively assigned. CModel

Method Details

__construct() method
public void __construct(string $scenario='')
$scenario string name of the scenario that this model is used in. See CModel::scenario on how scenario is used by models.
Source Code: framework/web/CFormModel.php#36 (show)
public function __construct($scenario='')
{
    
$this->setScenario($scenario);
    
$this->init();
    
$this->attachBehaviors($this->behaviors());
    
$this->afterConstruct();
}

Constructor.

See Also

attributeNames() method
public array attributeNames()
{return} array list of attribute names. Defaults to all public properties of the class.
Source Code: framework/web/CFormModel.php#60 (show)
public function attributeNames()
{
    
$className=get_class($this);
    if(!isset(
self::$_names[$className]))
    {
        
$class=new ReflectionClass(get_class($this));
        
$names=array();
        foreach(
$class->getProperties() as $property)
        {
            
$name=$property->getName();
            if(
$property->isPublic() && !$property->isStatic())
                
$names[]=$name;
        }
        return 
self::$_names[$className]=$names;
    }
    else
        return 
self::$_names[$className];
}

Returns the list of attribute names. By default, this method returns all public properties of the class. You may override this method to change the default.

init() method
public void init()
Source Code: framework/web/CFormModel.php#50 (show)
public function init()
{
}

Initializes this model. This method is invoked in the constructor right after scenario is set. You may override this method to provide code that is needed to initialize the model (e.g. setting initial property values.)