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 |
public static array $coreTypes;
Core input types (alias=>CHtml method name)
public boolean $enableAjaxValidation;
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.
public boolean $enableClientValidation;
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.
public array $errorOptions;
the options used when rendering the error part. This property will be passed to the CActiveForm::error method call as its $htmlOptions parameter.
public string $hint;
hint text of this input
public array $items;
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.
public string getLabel()
public void setLabel(string $value)
the label for this input. If the label is not manually set, this method will call CModel::getAttributeLabel to determine the label.
public string $layout;
the layout used to render label, input, hint and error. They correspond to the placeholders "{label}", "{input}", "{hint}" and "{error}".
public string $name;
name of this input
public boolean getRequired()
public void setRequired(boolean $value)
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 $type;
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;
}
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CFormInputElement