CFormModel
包 | system.web |
---|---|
继承 | class CFormModel » CModel » CComponent |
实现 | ArrayAccess, Traversable, IteratorAggregate |
子类 | CCodeModel |
可用自 | 1.0 |
源码 | 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.
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.
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
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 |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__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 |
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
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 |
事件
事件 | 描述 | 被定义在 |
---|---|---|
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 |
方法详情
__construct()
方法
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. |
源码: framework/web/CFormModel.php#36 (显示)
public function __construct($scenario='')
{
$this->setScenario($scenario);
$this->init();
$this->attachBehaviors($this->behaviors());
$this->afterConstruct();
}
Constructor.
参见
attributeNames()
方法
public array attributeNames()
| ||
{return} | array | list of attribute names. Defaults to all public properties of the class. |
源码: framework/web/CFormModel.php#60 (显示)
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()
方法
public void 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.)