Package | system.web.form |
---|---|
Inheritance | class CFormInputElement » CFormElement » CComponent |
Since | 1.1 |
Source Code | framework/web/form/CFormInputElement.php |
Property | Type | Description | Defined By |
---|---|---|---|
attributes | array | list of attributes (name=>value) for the HTML element represented by this object. | CFormElement |
coreTypes | array | Core input types (alias=>CHtml method name) | CFormInputElement |
enableAjaxValidation | boolean | whether to allow AJAX-based validation for this input. | CFormInputElement |
enableClientValidation | boolean | whether to allow client-side validation for this input. | CFormInputElement |
errorOptions | array | the options used when rendering the error part. | CFormInputElement |
hint | string | hint text of this input | CFormInputElement |
items | array | the options for this input when it is a list box, drop-down list, check box list, or radio button list. | CFormInputElement |
label | string | the label for this input. | CFormInputElement |
layout | string | the layout used to render label, input, hint and error. | CFormInputElement |
name | string | name of this input | CFormInputElement |
parent | mixed | the direct parent of this element. | CFormElement |
required | boolean | Gets the value indicating whether this input is required. | CFormInputElement |
type | string | the type of this input. | CFormInputElement |
visible | boolean | Returns a value indicating whether this element is visible and should be rendered. | CFormElement |
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | Constructor. | CFormElement |
__get() | Returns a property value or an attribute value. | CFormElement |
__isset() | Checks a property value or an attribute value on existence or not null | CFormElement |
__set() | Sets value of a property or attribute. | CFormElement |
__toString() | Converts the object to a string. | CFormElement |
__unset() | Sets a component property to be null. | CComponent |
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 |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
configure() | Configures this object with property initial values. | CFormElement |
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 |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getLabel() | Returns the label for this input. If the label is not manually set, this method will call CModel::getAttributeLabel to determine the label. | CFormInputElement |
getParent() | Returns the direct parent of this element. This could be either a CForm object or a CBaseController object (a controller or a widget). | CFormElement |
getRequired() | Gets the value indicating whether this input is required. | CFormInputElement |
getVisible() | Returns a value indicating whether this element is visible and should be rendered. | CFormElement |
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 |
raiseEvent() | Raises an event. | CComponent |
render() | Renders everything for this input. | CFormInputElement |
renderError() | Renders the error display of this input. | CFormInputElement |
renderHint() | Renders the hint text for this input. | CFormInputElement |
renderInput() | Renders the input field. | CFormInputElement |
renderLabel() | Renders the label for this input. | CFormInputElement |
setLabel() | Sets the label for this input | CFormInputElement |
setRequired() | Sets whether this input is required. | CFormInputElement |
setVisible() | Sets whether this element is visible and should be rendered. | CFormElement |
Method | Description | Defined By |
---|---|---|
evaluateVisible() | Evaluates the visibility of this element. | CFormInputElement |
Core input types (alias=>CHtml method name)
whether to allow AJAX-based validation for this input. Note that in order to use AJAX-based validation, CForm::activeForm must be configured with 'enableAjaxValidation'=>true. This property allows turning on or off AJAX-based validation for individual input fields. Defaults to true.
whether to allow client-side validation for this input. Note that in order to use client-side validation, CForm::activeForm must be configured with 'enableClientValidation'=>true. This property allows turning on or off client-side validation for individual input fields. Defaults to true.
the options used when rendering the error part. This property will be passed to the CActiveForm::error method call as its $htmlOptions parameter.
hint text of this input
the options for this input when it is a list box, drop-down list, check box list, or radio button list. Please see CHtml::listData for details of generating this property value.
the label for this input. If the label is not manually set, this method will call CModel::getAttributeLabel to determine the label.
the layout used to render label, input, hint and error. They correspond to the placeholders "{label}", "{input}", "{hint}" and "{error}".
name of this input
Gets the value indicating whether this input is required. If this property is not set explicitly, it will be determined by calling CModel::isAttributeRequired for the associated model and attribute of this input.
the type of this input. This can be a widget class name, a path alias of a widget class name, or an input type alias (text, hidden, password, textarea, file, radio, checkbox, listbox, dropdownlist, checkboxlist, or radiolist). If a widget class, it must extend from CInputWidget or (@link CJuiInputWidget).
protected boolean evaluateVisible()
| ||
{return} | boolean | whether this element is visible. |
protected function evaluateVisible()
{
return $this->getParent()->getModel()->isAttributeSafe($this->name);
}
Evaluates the visibility of this element. This method will check if the attribute associated with this input is safe for the current model scenario.
public string getLabel()
| ||
{return} | string | the label for this input. If the label is not manually set, this method will call CModel::getAttributeLabel to determine the label. |
public function getLabel()
{
if($this->_label!==null)
return $this->_label;
else
return $this->getParent()->getModel()->getAttributeLabel($this->name);
}
public boolean getRequired()
| ||
{return} | boolean | whether this input is required. |
public function getRequired()
{
if($this->_required!==null)
return $this->_required;
else
return $this->getParent()->getModel()->isAttributeRequired($this->name);
}
Gets the value indicating whether this input is required. If this property is not set explicitly, it will be determined by calling CModel::isAttributeRequired for the associated model and attribute of this input.
public string render()
| ||
{return} | string | the complete rendering result for this input, including label, input field, hint, and error. |
public function render()
{
if($this->type==='hidden')
return $this->renderInput();
$output=array(
'{label}'=>$this->renderLabel(),
'{input}'=>$this->renderInput(),
'{hint}'=>$this->renderHint(),
'{error}'=>!$this->getParent()->showErrors ? '' : $this->renderError(),
);
return strtr($this->layout,$output);
}
Renders everything for this input. The default implementation simply returns the result of renderLabel, renderInput, renderHint. When CForm::showErrorSummary is false, renderError is also called to show error messages after individual input fields.
public string renderError()
| ||
{return} | string | the rendering result |
public function renderError()
{
$parent=$this->getParent();
return $parent->getActiveFormWidget()->error($parent->getModel(), $this->name, $this->errorOptions, $this->enableAjaxValidation, $this->enableClientValidation);
}
Renders the error display of this input. The default implementation returns the result of CHtml::error
public string renderHint()
| ||
{return} | string | the rendering result. |
public function renderHint()
{
return $this->hint===null ? '' : '<div class="hint">'.$this->hint.'</div>';
}
Renders the hint text for this input. The default implementation returns the hint property enclosed in a paragraph HTML tag.
public string renderInput()
| ||
{return} | string | the rendering result |
public function renderInput()
{
if(isset(self::$coreTypes[$this->type]))
{
$method=self::$coreTypes[$this->type];
if(strpos($method,'List')!==false)
return CHtml::$method($this->getParent()->getModel(), $this->name, $this->items, $this->attributes);
else
return CHtml::$method($this->getParent()->getModel(), $this->name, $this->attributes);
}
else
{
$attributes=$this->attributes;
$attributes['model']=$this->getParent()->getModel();
$attributes['attribute']=$this->name;
ob_start();
$this->getParent()->getOwner()->widget($this->type, $attributes);
return ob_get_clean();
}
}
Renders the input field. The default implementation returns the result of the appropriate CHtml method or the widget.
public string renderLabel()
| ||
{return} | string | the rendering result |
public function renderLabel()
{
$options = array(
'label'=>$this->getLabel(),
'required'=>$this->getRequired()
);
if(!empty($this->attributes['id']))
$options['for']=$this->attributes['id'];
return CHtml::activeLabel($this->getParent()->getModel(), $this->name, $options);
}
Renders the label for this input. The default implementation returns the result of activeLabelEx.
public void setLabel(string $value)
| ||
$value | string | the label for this input |
public function setLabel($value)
{
$this->_label=$value;
}
public void setRequired(boolean $value)
| ||
$value | boolean | whether this input is required. |
public function setRequired($value)
{
$this->_required=$value;
}
List Elements
Note that when you are using list elements, such as drop down list, and you are using an existing (loaded) model then
you get the drop down list with the correct selected item for this model.
In other words you do not have to bother with the dropDownList(string $name, string $select, array $data, array $htmlOptions=array ( )) second parameter.
The second parameter called select is automatically filled for you ;)
Signup or Login in order to comment.