Yii Framework v1.1.10 绫诲弬鑰

CFormInputElement

system.web.form
缁ф壙 class CFormInputElement » CFormElement » CComponent
婧愯嚜 1.1
鐗堟湰 $Id: CFormInputElement.php 3426 2011-10-25 00:01:09Z alexander.makarow $
婧愮爜 framework/web/form/CFormInputElement.php
CFormInputElement 浠h〃琛ㄥ崟杈撳叆鍏冪礌銆

CFormInputElement 鍙互浠h〃浠ヤ笅鍩轰簬type灞炴х殑琛ㄥ崟杈撳叆绫诲瀷锛 type灞炴у彲浠ユ槸涓涓被鍚嶏紝涔熷彲浠ユ槸涓涓被鐨勮矾寰勫埆鍚嶃傚湪杩欑鎯呭喌涓嬶紝 杈撳叆妗嗘槸鐢辨寚瀹氱殑绫荤殑鎸備欢鐢熸垚鐨勩 娉ㄦ剰锛屾寕浠朵腑蹇呴』鏈変竴涓彨鍋氣渕odel鈥濈殑灞炴ф寚鍚戜竴涓ā鍨嬪璞★紝 鍜屼竴涓彨鍋氣渁ttribute鈥濈殑灞炴ф寚鍚戞ā鍨嬪睘鎬с 鍥犱负CFormElement鏄疌FormInputElement鐨勪竴涓鍏堢被锛 缁欎竴涓笉瀛樺湪鐨勫睘鎬ц祴鍊煎皢浼氬瓨鍌ㄥ湪attributes锛岀劧鍚庝綔涓篐TML灞炴т紶閫掔粰CHtml鏂规硶 鐢熸垚杈撳叆妗嗘垨鍒濆鍖栨寕浠剁殑灞炴у笺

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
attributes array 閫氳繃杩欎釜瀵硅薄鏉ヨ〃鐜癏TML鍏冪礌鐨勫睘鎬у垪琛(name=>value)銆 CFormElement
coreTypes array 鏍稿績鐨勮緭鍏ョ被鍨(鍒悕=>CHtml鏂规硶鍚) CFormInputElement
enableAjaxValidation boolean 鏄惁鍏佽杩欎釜杈撳叆鍏冪礌鍩轰簬AJAX楠岃瘉銆 娉ㄦ剰锛岃浣跨敤鍩轰簬AJAX楠岃瘉锛CForm::activeForm蹇呴』閰嶇疆鎴'enableAjaxValidation'=>true銆 杩欎釜灞炴у厑璁告墦寮鎴栧叧闂崟涓緭鍏ユ爮鐨勫熀浜嶢JAX楠岃瘉銆 榛樿涓簍rue銆 CFormInputElement
enableClientValidation boolean 鏄惁鍏佽杩欎釜杈撳叆鍏冪礌瀹㈡埛绔獙璇併 娉ㄦ剰锛岃浣跨敤瀹㈡埛绔獙璇侊紝CForm::activeForm蹇呴』閰嶇疆鎴'enableClientValidation'=>true. CFormInputElement
errorOptions array 娓叉煋閿欒閮ㄥ垎鐨勯夐」銆 杩欎釜灞炴т細浼犻掔粰CActiveForm::error鏂规硶锛屽綋浣$htmlOptions鏉ヨ皟鐢ㄣ CFormInputElement
hint string 杈撳叆妗嗙殑鎻愮ず鏂囨湰 CFormInputElement
items array 褰撳厓绱犳槸澶氶夊垪琛紝涓嬫媺鍒楄〃锛屽閫夋鍒楄〃鎴栧崟閫夋寜閽垪琛ㄦ椂鐨勯夐」銆 鐢熸垚杩欎簺灞炴у肩殑璇︾粏鎯呭喌璇锋煡鐪CHtml::listData CFormInputElement
label string 杈撳叆鍏冪礌鐨勬爣绛撅紝濡傛灉娌℃湁鎵嬪姩璁剧疆杩欎釜鏍囩锛 璇ユ柟娉曞皢璋冪敤CModel::getAttributeLabel鏉ョ‘瀹氭爣绛俱 CFormInputElement
layout string 鐢ㄤ簬娓叉煋鏍囩锛岃緭鍏ュ厓绱狅紝鎻愮ず鍜岄敊璇殑甯冨眬銆 瀹冧滑瀵瑰簲鍒拌繖浜涚偣浣嶇锛"{label}", "{input}", "{hint}" and "{error}". CFormInputElement
name string 杈撳叆妗嗙殑鍚嶇О CFormInputElement
parent mixed 杩欎釜鍏冪礌鐨勭湡绯荤埗绫汇傚畠鍙兘鏄CForm瀵硅薄锛屼篃鍙兘鏄CBaseController瀵硅薄銆 (鎺у埗鍣ㄦ垨鎸備欢)銆 CFormElement
required boolean 寰楀埌鐨勫艰〃鏄庤繖涓緭鍏ュ厓绱犳槸鍚︿负蹇呴』鐨勩 CFormInputElement
type string 杈撳叆妗嗙殑绫诲瀷銆傚彲浠ユ槸涓涓寕浠剁殑绫诲悕锛屽彲浠ユ槸涓涓寕浠剁被鍚嶇殑璺緞鍒悕锛 杩樺彲浠ユ槸涓涓緭鍏ョ被鍨嬬殑鍒悕(text, hidden, password, textarea, file, radio, checkbox, listbox, dropdownlist, checkboxlist, or radiolist). CFormInputElement
visible boolean 杩斿洖鍊艰鏄庤繖涓厓绱犳槸鍚﹀彲瑙佸苟闇瑕佹覆鏌撱 CFormElement

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__construct() 鏋勯犲櫒銆 CFormElement
__get() 杩斿洖灞炴у笺 CFormElement
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆灞炴у笺 CFormElement
__toString() 灏嗗璞¤浆鎹负瀛楃涓层 CFormElement
__unset() 璁剧疆涓涓粍浠剁殑灞炴т负null銆 CComponent
asa() 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° CComponent
attachBehavior() 闄勫姞涓涓涓哄埌缁勪欢銆 CComponent
attachBehaviors() 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 CComponent
attachEventHandler() 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 CComponent
canGetProperty() 纭畾灞炴ф槸鍚﹀彲璇汇 CComponent
canSetProperty() 纭畾灞炴ф槸鍚﹀彲鍐欍 CComponent
configure() 鏍规嵁鍒濆鍖栫殑鍊兼潵閰嶇疆杩欎釜瀵硅薄銆 CFormElement
detachBehavior() 浠庣粍浠朵腑鍒嗙涓涓涓恒 CComponent
detachBehaviors() 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 CComponent
detachEventHandler() 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 CComponent
disableBehavior() 绂佺敤涓涓檮鍔犺涓恒 CComponent
disableBehaviors() 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
enableBehavior() 鍚敤涓涓檮鍔犺涓恒 CComponent
enableBehaviors() 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
evaluateExpression() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getLabel() 杩斿洖杈撳叆鍏冪礌鐨勬爣绛撅紝濡傛灉娌℃湁鎵嬪姩璁剧疆杩欎釜鏍囩锛 璇ユ柟娉曞皢璋冪敤CModel::getAttributeLabel鏉ョ‘瀹氭爣绛俱 CFormInputElement
getParent() 杩斿洖杩欎釜鍏冪礌鐨勭湡绯荤埗绫汇傚畠鍙兘鏄CForm瀵硅薄锛屼篃鍙兘鏄CBaseController瀵硅薄銆 (鎺у埗鍣ㄦ垨鎸備欢)銆 CFormElement
getRequired() 寰楀埌鐨勫艰〃鏄庤繖涓緭鍏ュ厓绱犳槸鍚︿负蹇呴』鐨勩 CFormInputElement
getVisible() 杩斿洖鍊艰鏄庤繖涓厓绱犳槸鍚﹀彲瑙佸苟闇瑕佹覆鏌撱 CFormElement
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
render() 娓叉煋杩欎釜杈撳叆鍏冪礌鐨勬墍鏈夊唴瀹广 CFormInputElement
renderError() 娓叉煋杩欎釜杈撳叆鍏冪礌鐨勯敊璇樉绀恒 CFormInputElement
renderHint() 娓叉煋杩欎釜杈撳叆鍏冪礌鐨勬彁绀烘枃鏈 CFormInputElement
renderInput() 娓叉煋杈撳叆鍏冪礌銆 CFormInputElement
renderLabel() 娓叉煋杩欎釜杈撳叆鍏冪礌鐨勬爣绛俱俁enders the label for this input. CFormInputElement
setLabel() 璁剧疆杈撳叆鍏冪礌鐨勬爣绛 CFormInputElement
setRequired() 璁剧疆杩欎釜杈撳叆鍏冪礌鏄惁涓哄繀椤荤殑銆 CFormInputElement
setVisible() 璁剧疆杩欎釜鍏冪礌鏄惁鍙骞堕渶瑕佹覆鏌撱 CFormElement

鍙椾繚鎶ゆ柟娉

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
evaluateVisible() 璇勪及鍏冪礌鐨勫彲瑙佹с侲valuates the visibility of this element. CFormInputElement

灞炴ц缁

coreTypes 灞炴
public static array $coreTypes;

鏍稿績鐨勮緭鍏ョ被鍨(鍒悕=>CHtml鏂规硶鍚)

enableAjaxValidation 灞炴 锛堝彲鐢ㄨ嚜 v1.1.7锛
public boolean $enableAjaxValidation;

鏄惁鍏佽杩欎釜杈撳叆鍏冪礌鍩轰簬AJAX楠岃瘉銆 娉ㄦ剰锛岃浣跨敤鍩轰簬AJAX楠岃瘉锛CForm::activeForm蹇呴』閰嶇疆鎴'enableAjaxValidation'=>true銆 杩欎釜灞炴у厑璁告墦寮鎴栧叧闂崟涓緭鍏ユ爮鐨勫熀浜嶢JAX楠岃瘉銆 榛樿涓簍rue銆

enableClientValidation 灞炴 锛堝彲鐢ㄨ嚜 v1.1.7锛
public boolean $enableClientValidation;

鏄惁鍏佽杩欎釜杈撳叆鍏冪礌瀹㈡埛绔獙璇併 娉ㄦ剰锛岃浣跨敤瀹㈡埛绔獙璇侊紝CForm::activeForm蹇呴』閰嶇疆鎴'enableClientValidation'=>true. 杩欎釜灞炴у厑璁告墦寮鎴栧叧闂崟涓緭鍏ユ爮鐨勫鎴风楠岃瘉銆 榛樿涓簍rue銆

errorOptions 灞炴 锛堝彲鐢ㄨ嚜 v1.1.1锛
public array $errorOptions;

娓叉煋閿欒閮ㄥ垎鐨勯夐」銆 杩欎釜灞炴т細浼犻掔粰CActiveForm::error鏂规硶锛屽綋浣$htmlOptions鏉ヨ皟鐢ㄣ

鍙傝

hint 灞炴
public string $hint;

杈撳叆妗嗙殑鎻愮ず鏂囨湰

items 灞炴
public array $items;

褰撳厓绱犳槸澶氶夊垪琛紝涓嬫媺鍒楄〃锛屽閫夋鍒楄〃鎴栧崟閫夋寜閽垪琛ㄦ椂鐨勯夐」銆 鐢熸垚杩欎簺灞炴у肩殑璇︾粏鎯呭喌璇锋煡鐪CHtml::listData

label 灞炴
public string getLabel()
public void setLabel(string $value)

杈撳叆鍏冪礌鐨勬爣绛撅紝濡傛灉娌℃湁鎵嬪姩璁剧疆杩欎釜鏍囩锛 璇ユ柟娉曞皢璋冪敤CModel::getAttributeLabel鏉ョ‘瀹氭爣绛俱

layout 灞炴
public string $layout;

鐢ㄤ簬娓叉煋鏍囩锛岃緭鍏ュ厓绱狅紝鎻愮ず鍜岄敊璇殑甯冨眬銆 瀹冧滑瀵瑰簲鍒拌繖浜涚偣浣嶇锛"{label}", "{input}", "{hint}" and "{error}".

name 灞炴
public string $name;

杈撳叆妗嗙殑鍚嶇О

required 灞炴
public boolean getRequired()
public void setRequired(boolean $value)

寰楀埌鐨勫艰〃鏄庤繖涓緭鍏ュ厓绱犳槸鍚︿负蹇呴』鐨勩 濡傛灉杩欎釜灞炴ф病鏈夋槑纭缃紝 瀹冨皢浼氳皟鐢CModel::isAttributeRequired鑾峰緱鐩稿叧鐨勬ā鍨嬪拰灞炴ф潵鍐冲畾銆

type 灞炴
public string $type;

杈撳叆妗嗙殑绫诲瀷銆傚彲浠ユ槸涓涓寕浠剁殑绫诲悕锛屽彲浠ユ槸涓涓寕浠剁被鍚嶇殑璺緞鍒悕锛 杩樺彲浠ユ槸涓涓緭鍏ョ被鍨嬬殑鍒悕(text, hidden, password, textarea, file, radio, checkbox, listbox, dropdownlist, checkboxlist, or radiolist). 濡傛灉鏄竴涓寕浠剁被锛岄偅瀹冨繀椤绘槸缁ф壙浜CInputWidget鎴(@link CJuiInputWidget).

鏂规硶璇︾粏

evaluateVisible() 鏂规硶
protected boolean evaluateVisible()
{return} boolean 杩欎釜鍏冪礌鏄惁鍙
婧愮爜锛 framework/web/form/CFormInputElement.php#250 (鏄剧ず)
protected function evaluateVisible()
{
    return 
$this->getParent()->getModel()->isAttributeSafe($this->name);
}

璇勪及鍏冪礌鐨勫彲瑙佹с侲valuates the visibility of this element. 杩欎釜鏂规硶灏嗘鏌ヨ繖涓緭鍏ュ厓绱犵殑灞炴 鍦ㄥ綋鍓嶇殑鍦烘櫙涓槸鍚︽槸瀹夊叏鐨勩

getLabel() 鏂规硶
public string getLabel()
{return} string 杈撳叆鍏冪礌鐨勬爣绛撅紝濡傛灉娌℃湁鎵嬪姩璁剧疆杩欎釜鏍囩锛 璇ユ柟娉曞皢璋冪敤CModel::getAttributeLabel鏉ョ‘瀹氭爣绛俱
婧愮爜锛 framework/web/form/CFormInputElement.php#141 (鏄剧ず)
public function getLabel()
{
    if(
$this->_label!==null)
        return 
$this->_label;
    else
        return 
$this->getParent()->getModel()->getAttributeLabel($this->name);
}

getRequired() 鏂规硶
public boolean getRequired()
{return} boolean 杩欎釜杈撳叆鍏冪礌鏄惁涓哄繀椤荤殑銆
婧愮爜锛 framework/web/form/CFormInputElement.php#121 (鏄剧ず)
public function getRequired()
{
    if(
$this->_required!==null)
        return 
$this->_required;
    else
        return 
$this->getParent()->getModel()->isAttributeRequired($this->name);
}

寰楀埌鐨勫艰〃鏄庤繖涓緭鍏ュ厓绱犳槸鍚︿负蹇呴』鐨勩 濡傛灉杩欎釜灞炴ф病鏈夋槑纭缃紝 瀹冨皢浼氳皟鐢CModel::isAttributeRequired鑾峰緱鐩稿叧鐨勬ā鍨嬪拰灞炴ф潵鍐冲畾銆

render() 鏂规硶
public string render()
{return} string 杈撳叆鍏冪礌瀹屾暣鐨勬覆鏌撶粨鏋滐紝鍖呮嫭鏍囩锛岃緭鍏ユ锛屾彁绀哄拰閿欒銆
婧愮爜锛 framework/web/form/CFormInputElement.php#164 (鏄剧ず)
public function render()
{
    if(
$this->type==='hidden')
        return 
$this->renderInput();
    
$output=array(
        
'{label}'=>$this->renderLabel(),
        
'{input}'=>$this->renderInput(),
        
'{hint}'=>$this->renderHint(),
        
'{error}'=>$this->getParent()->showErrorSummary '' $this->renderError(),
    );
    return 
strtr($this->layout,$output);
}

娓叉煋杩欎釜杈撳叆鍏冪礌鐨勬墍鏈夊唴瀹广 榛樿瀹炵幇鍙槸杩斿洖renderLabel,renderInput,renderHint鐨勭粨鏋溿 褰CForm::showErrorSummary涓篺alse鏃讹紝 涔熶細璋冪敤renderError鍦ㄥ崟涓殑杈撳叆鍏冪礌鍚庢樉绀洪敊璇俊鎭

renderError() 鏂规硶
public string renderError()
{return} string 娓叉煋缁撴灉
婧愮爜锛 framework/web/form/CFormInputElement.php#228 (鏄剧ず)
public function renderError()
{
    
$parent=$this->getParent();
    return 
$parent->getActiveFormWidget()->error($parent->getModel(), $this->name$this->errorOptions$this->enableAjaxValidation$this->enableClientValidation);
}

娓叉煋杩欎釜杈撳叆鍏冪礌鐨勯敊璇樉绀恒 榛樿瀹炵幇杩斿洖CHtml::error鐨勭粨鏋溿

renderHint() 鏂规硶
public string renderHint()
{return} string 娓叉煋缁撴灉
婧愮爜锛 framework/web/form/CFormInputElement.php#239 (鏄剧ず)
public function renderHint()
{
    return 
$this->hint===null '' '<div class="hint">'.$this->hint.'</div>';
}

娓叉煋杩欎釜杈撳叆鍏冪礌鐨勬彁绀烘枃鏈 榛樿瀹炵幇杩斿洖涓涓叧闂湪涓涓狧TML鏍囩涓殑hint灞炴у笺

renderInput() 鏂规硶
public string renderInput()
{return} string 娓叉煋缁撴灉
婧愮爜锛 framework/web/form/CFormInputElement.php#202 (鏄剧ず)
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();
    }
}

娓叉煋杈撳叆鍏冪礌銆 榛樿瀹炵幇杩斿洖閫傚綋鐨凜Html鏂规硶鎴栨寕浠躲

renderLabel() 鏂规硶
public string renderLabel()
{return} string 娓叉煋缁撴灉
婧愮爜锛 framework/web/form/CFormInputElement.php#182 (鏄剧ず)
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);
}

娓叉煋杩欎釜杈撳叆鍏冪礌鐨勬爣绛俱俁enders the label for this input. 榛樿瀹炵幇杩斿洖activeLabelEx鐨勭粨鏋溿

setLabel() 鏂规硶
public void setLabel(string $value)
$value string 杈撳叆鍏冪礌鐨勬爣绛
婧愮爜锛 framework/web/form/CFormInputElement.php#152 (鏄剧ず)
public function setLabel($value)
{
    
$this->_label=$value;
}

setRequired() 鏂规硶
public void setRequired(boolean $value)
$value boolean 杩欎釜杈撳叆鍏冪礌鏄惁涓哄繀椤荤殑銆
婧愮爜锛 framework/web/form/CFormInputElement.php#132 (鏄剧ず)
public function setRequired($value)
{
    
$this->_required=$value;
}

Copyright © 2008-2011 by Yii Software LLC
All Rights Reserved.