Yii Framework v1.1.10 绫诲弬鑰

CActiveForm

system.web.widgets
缁ф壙 class CActiveForm » CWidget » CBaseController » CComponent
瀛愮被 CCodeForm
婧愯嚜 1.1.1
鐗堟湰 $Id: CActiveForm.php 3542 2012-01-17 12:46:49Z mdomba $
婧愮爜 framework/web/widgets/CActiveForm.php
CActiveForm鎻愪緵浜嗕竴绯诲垪鏂规硶锛岃繖浜涙柟娉曞彲浠ュ府鍔╃畝鍖栬〃鍗曞垱寤虹殑澶嶆潅鎬э紝 涔熷彲浠ュ府鍔╁垱寤哄熀浜庢ā鍨嬫暟鎹殑鍙氦浜扝TML琛ㄥ崟銆

CActiveForm璋冪敤鈥渂eginWidget鈥濆拰鈥渆ndWidget鈥濇覆鏌 琛ㄥ崟鐨勫紑濮嬫爣绛惧拰缁撴潫鏍囩銆侰ActiveForm鐨勫叾浠栫粷澶ч儴鍒嗘柟娉 浣跨敤CHtml涓浉搴旂殑鈥渁ctive鈥濇柟娉曞寘瑁呫傚湪鈥渂eginWidget鈥 鍜屸渆ndWidget鈥濅箣闂磋皟鐢ㄨ繖浜涙柟娉曪紝鍙互娓叉煋鍑烘枃瀛楁爣绛俱佽緭鍏ユ锛 绛夌瓑銆備緥濡傦紝璋冪敤CActiveForm::textField 灏嗕负鎸囧畾鐨勬ā鍨嬪睘鎬х敓鎴愪竴涓緭鍏ユ銆

CactiveForm鐨勪竴涓瀬涓烘湁鐢ㄧ殑鐗规ф槸瀹冩敮鎸佹暟鎹獙璇併 CActiveForm鏀寔涓変釜灞傛鐨勬暟鎹獙璇侊細
  • 鏈嶅姟鍣ㄧ楠岃瘉锛氬綋鏁翠釜琛ㄥ崟椤甸潰琚彁浜ゅ悗锛屽湪鏈嶅姟鍣ㄧ 杩涜楠岃瘉銆傚鏋滃瓨鍦ㄤ换浣曢獙璇侀敊璇紝CActiveForm灏嗘妸閿欒 淇℃伅鏄剧ず鍦ㄧ敤鎴烽〉闈笂銆
  • 鍩轰簬AJAX鐨勯獙璇侊細褰撶敤鎴峰湪杈撳叆妗嗕腑杈撳叆浜嗘暟鎹紝 闇瑕佸湪鏈嶅姟鍣ㄧ杩涜楠岃瘉鐨勮緭鍏ユ灏嗚Е鍙戜竴涓狝JAX楠岃瘉銆 楠岃瘉缁撴灉閫氳繃AJAX response杩斿洖锛岃緭鍏ユ涔熸牴鎹繑鍥炵粨鏋 鐩稿簲鐨勬敼鍙樺畠鐨勬樉绀鸿涓恒
  • 瀹㈡埛绔獙璇侊紙浠1.1.7鐗堝悗鍙敤锛夛細 褰撶敤鎴峰湪杈撳叆妗嗕腑杈撳叆鏁版嵁锛 楠岃瘉鍔ㄤ綔灏嗗湪瀹㈡埛绔氳繃JavaScript鎵ц銆傜敱浜庢病鏈変骇鐢熶笌 鏈嶅姟鍣ㄧ鐨勯氳锛岃繖绉嶆柟寮忓彲浠ラ檷浣庢湇鍔″櫒鐨勮礋鑽枫


鎵鏈夎繖浜涢獙璇佸叡浜竴涓獙璇佽鍒欑殑闆嗗悎锛岃繖涓泦鍚堣 瀹氫箟鍦ㄧ浉搴旂殑妯″瀷绫讳腑銆侰ActiveForm鐨勮璁℃柟閽堟槸 浣挎墍鏈夌殑楠岃瘉閮戒骇鐢熶竴鑷寸殑鐢ㄦ埛鐣岄潰鍙樺寲鍜岄敊璇彁绀 鍐呭銆

涓轰簡纭繚鏁版嵁鏈夋晥鎬э紝鏈嶅姟鍣ㄧ楠岃瘉灏嗗缁堣鎵ц銆 閫氳繃璁剧疆enableAjaxValidation涓簍rue锛屽彲浠ヤ娇鍩轰簬AJAX鐨勯獙璇佸彲鐢紱 閫氳繃璁剧疆enableClientValidation涓簍rue, 鍙互浣垮鎴风楠岃瘉鍙敤銆 娉ㄦ剰锛氫负浜嗕娇寰楀悗涓ょ楠岃瘉姝e父宸ヤ綔锛岀敤鎴风殑娴忚鍣ㄩ渶瑕 璁剧疆JavaScript鍙敤銆傚惁鍒欙紝灏嗗彧鏈夋湇鍔″晢鐨勯獙璇佸皢浼氳 鎵ц銆

鍩轰簬AJAX鐨勯獙璇佸拰瀹㈡埛绔獙璇佸彲浠ュ悓鏃朵娇鐢紝涔熷彲浠ュ垎寮 浣跨敤銆備緥濡傦紝鍦ㄧ敤鎴锋敞鍐岃〃鍗曚腑锛屽彲浠ヤ娇鐢ㄥ熀浜嶢JAX鐨勯獙 璇佹潵妫鏌ョ敤鎴锋槸鍚﹂夋嫨浜嗘湭閲嶅鐨勭敤鎴峰悕锛屼娇鐢ㄥ鎴风楠 璇佹潵纭繚鎵鏈夐渶瑕佹湁鍐呭鐨勫瓧娈甸兘琚緭鍏ヤ簡鍐呭銆 鍥犱负鍩轰簬AJAX鐨勯獙璇佸彲鑳藉鍔犳湇鍔″櫒鐨勯澶栬礋鑽凤紝鍦ㄥ彲鑳 鐨勬儏鍐典笅鎴戜滑搴斿綋灏藉彲鑳藉湴浣跨敤瀹㈡埛绔獙璇併

鍩轰簬AJAX鐨勯獙璇佹湁涓浜涢檺鍒讹細棣栧厛锛屽畠涓嶈兘鐢ㄤ簬 鏂囦欢涓婁紶瀛楁锛涘叾娆★紝瀹冧笉鑳界敤浜庡彲鑳戒骇鐢熸湇鍔 鍣ㄧ鐘舵佹敼鍙樼殑楠岃瘉锛涚涓夛紝瀹冪洰鍓嶈繕涓嶈兘鐢ㄤ簬 琛ㄦ牸寮忚緭鍏ョ殑楠岃瘉銆

涓嶅悓鐨勯獙璇佸櫒瀵瑰鎴风楠岃瘉鐨勬敮鎸佹槸涓嶄竴瀹氱殑銆備竴涓獙璇佸櫒 浠呭湪涓嬪垪鎯呭舰涓嬫敮鎸佸鎴风楠岃瘉锛氶鍏堬紝瀹冨疄鐜颁簡CValidator::clientValidateAttribute 鍏舵锛屽畠鐨CValidator::enableClientValidation灞炴ц缃负true銆 鐩墠锛屼笅鍒楁牳蹇冮獙璇佸櫒鏀寔瀹㈡埛绔獙璇侊細

CActiveForm渚濊禆浜嶤SS鏉ュ畾鍒惰緭鍏ユ鍦ㄤ笉鍚岀殑 楠岃瘉鐘舵佷笅鐨勫瑙傘傝缁嗘潵璇达紝姣忎釜杈撳叆妗嗗彲鑳 澶勪簬浠ヤ笅鍥涚鐘舵佷箣涓锛歩nitial锛堝皻鏈獙璇侊級锛 validating锛宔rror鍜宻uccess銆備负浜嗗尯鍒嗚繖浜 鐘舵侊紝CActiveForm涓哄悗涓夌鐘舵佽嚜鍔ㄨ瀹氫笉鍚 鐨凜SS绫伙紝搴旂敤鍒板寘鍚緭鍏ユ鐨凥TML鍏冪礌銆 榛樿鎯呭喌涓嬶紝杩欎簺CSS绫诲皢鍒嗗埆琚懡鍚嶄负鈥渧alidating鈥濓紝 鈥渆rror鈥濆拰鈥渟uccess鈥濄傛垜浠彲浠ラ氳繃閰嶇疆clientOptions 灞炴ф垨鍦error鏂规硶涓槑纭寚瀹氭潵瀹氬埗杩欎簺CSS绫汇

涓嬮潰鐨勪唬鐮佺墖娈垫槸瑙嗗浘鏂囦欢鐨勭ず渚嬩唬鐮侊紝璇存槑濡備綍浣跨敤CActiveForm锛

<?php $form = $this->beginWidget('CActiveForm', array(
    'id'=>'user-form',
    'enableAjaxValidation'=>true,
    'enableClientValidation'=>true,
    'focus'=>array($model,'firstName'),
)); ?>

<?php echo $form->errorSummary($model); ?>

<div class="row">
    <?php echo $form->labelEx($model,'firstName'); ?>
    <?php echo $form->textField($model,'firstName'); ?>
    <?php echo $form->error($model,'firstName'); ?>
</div>
<div class="row">
    <?php echo $form->labelEx($model,'lastName'); ?>
    <?php echo $form->textField($model,'lastName'); ?>
    <?php echo $form->error($model,'lastName'); ?>
</div>

<?php $this->endWidget(); ?>


涓轰簡鍝嶅簲AJAX楠岃瘉璇锋眰锛屾垜浠渶瑕佷笅鍒楃被浠g爜锛
public function actionCreate()
{
    $model=new User;
    $this->performAjaxValidation($model);
    if(isset($_POST['User']))
    {
        $model->attributes=$_POST['User'];
        if($model->save())
            $this->redirect('index');
    }
    $this->render('create',array('model'=>$model));
}

protected function performAjaxValidation($model)
{
    if(isset($_POST['ajax']) && $_POST['ajax']==='user-form')
    {
        echo CActiveForm::validate($model);
        Yii::app()->end();
    }
}


鍦ㄤ笂闈㈢殑浠g爜涓紝濡傛灉鎴戜滑涓嶆兂璁剧疆鍩轰簬AJAX鐨勯獙璇佸彲鐢紝鎴戜滑鍙互 绉婚櫎performAjaxValidation鏂规硶鍜屽瀹冪殑璋冪敤銆

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
action mixed 琛ㄥ崟鍔ㄤ綔鐨刄RL (鍙傝CHtml::normalizeUrl浠ヤ簡瑙f洿澶氬叧浜庢鍙傛暟鐨勭粏鑺)銆 濡傛灉鏈缃紝灏嗕娇鐢ㄥ綋鍓嶉〉闈㈢殑URL銆 CActiveForm
actionPrefix string actions鐨処D鐨勫墠缂銆 褰撳井浠跺湪CController::actions涓0鏄庝簡 鍔ㄤ綔鎻愪緵鑰咃紝鍙互涓哄叾鍔ㄤ綔鐨処D鎸囧畾鍓嶇紑浠ュ尯鍒 浜庡埆鐨勫井浠舵垨鎺у埗鍣ㄣ傚綋寰欢鐢ㄤ簬鎺у埗鍣 鐨勮鍥句腑鏃讹紝蹇呴』閰嶇疆鍚屾牱鐨勫墠缂銆 CWidget
clientOptions array 浼犻掔粰JavaScript楠岃瘉鎻掍欢鐨勯夐」鏁扮粍銆 鐩墠鏀寔涓嬪垪閫夐」锛
  • ajaxVar: string, 鐢ㄦ潵鎸囨槑褰撳墠璇锋眰鏄竴涓狝JAX璇锋眰鐨勫弬鏁扮殑鍚嶅瓧銆 褰揂JAX楠岃瘉琚Е鍙戯紝涓涓互姝ゅ睘鎬у间负鍚嶇殑鍙傛暟灏嗕笌鍏朵粬琛ㄥ崟鏁版嵁涓璧疯鎻 浜ゅ埌鏈嶅姟鍣ㄣ傛鍙傛暟鐨勫兼槸琛ㄥ崟鐨処D銆 鏈嶅姟鍣ㄧ鍙互妫娴嬪嚭AJAX楠岃瘉鐨勮Е鍙戣咃紝骞朵綔鍑虹浉搴旂殑鍙嶅簲銆 榛樿鍊兼槸鈥渁jax鈥濄
  • validationUrl: string, 鐢ㄤ簬鎵цAJAX楠岃瘉鐨刄RL銆 濡傛灉娌℃湁璁剧疆锛屽皢浣跨敤action鐨勫笺
  • validationDelay: integer, 杈撳叆琚敼鍙樺悗寤惰繜澶氬皯鏃堕棿鎵嶆墽琛 AJAX楠岃瘉锛屽崟浣嶆槸姣銆傝缃负0鎰忓懗鐫杈撳叆琚敼鍙樺悗灏嗙珛鍗虫墽琛孉JAX 楠岃瘉銆傝缃负澶т簬0鐨勫兼剰鍛崇潃澶氫釜杈撳叆鏀瑰彉鍙兘鍙Е鍙戜竴娆JAX楠岃瘉锛 鍙瀹冧滑鍙戠敓寰楄冻澶熷揩銆傝繖绉嶆柟寮忓彲浠ュ府鍔╅檷浣庢湇鍔″櫒璐熻嵎銆 榛樿鍊兼槸200锛0.
CActiveForm
controller CController 杩斿洖姝ゅ井浠舵墍灞炵殑鎺у埗鍣ㄣ CWidget
enableAjaxValidation boolean 鏄惁浣垮熀浜嶢JAX鐨勯獙璇佸彲鐢ㄣ傞粯璁ゅ兼槸false銆 褰撴灞炴ц缃负true锛屼綘搴斿綋璞′笅闈㈣繖鏍峰湪鏈嶅姟鍣ㄧ瀵笰JAX楠岃瘉璇锋眰浣滃嚭鍝嶅簲锛
public function actionCreate()
{
    $model=new User;
    if(isset($_POST['ajax']) && $_POST['ajax']==='user-form')
    {
        echo CActiveForm::validate($model);
        Yii::app()->end();
    }
    .
CActiveForm
enableClientValidation boolean 鏄惁浣垮鎴风楠岃瘉鍙敤銆傞粯璁ゅ兼槸false銆

褰撴灞炴ц缃负true锛屾敮鎸佸畠鐨勯獙璇佸櫒灏嗘墽琛屽鎴风楠岃瘉銆 锛堝弬瑙CValidator::enableClientValidationCValidator::clientValidateAttribute銆傦級
CActiveForm
errorMessageCssClass string 閿欒淇℃伅鐨凜SS绫汇傞粯璁ゅ兼槸鈥渆rrorMessage鈥濄 涓綋鐨error璋冪敤鍙互閫氳繃鎸囧畾鈥渃lass鈥滺TML閫夐」鏉ヨ鐩栬繖涓笺 CActiveForm
focus mixed 椤甸潰杞藉叆鏃跺垵濮嬪寲鑾峰彇杈撳叆鐒︾偣鐨勮〃鍗曞厓绱犮

榛樿鍊兼槸null锛岃〃绀烘病鏈夎緭鍏ュ煙鎷ユ湁鐒︾偣銆 濡傛灉璁剧疆涓烘暟缁勶紝绗竴涓厓绱犳槸妯″瀷锛岀浜屼釜鍏冪礌鏄睘鎬с 濡傛灉璁剧疆涓哄瓧绗︿覆锛岄偅涔堝皢浣滀负jQuery鐨勯夋嫨鍣ㄤ娇鐢ㄣ

绀轰緥 - 璁剧疆椤甸潰杞藉叆鏃剁殑杈撳叆鐒︾偣锛
  • 'focus'=>array($model,'username') - $model->username 杈撳叆妗
  • 'focus'=>'#'.
CActiveForm
htmlOptions array additional 娓叉煋琛ㄥ崟鏍囩鐨凥TML灞炴с CActiveForm
id string 杩斿洖姝ゅ井浠剁殑ID銆傚鏋滈渶瑕佺殑璇濓紝灏嗙敓浜т竴涓柊鐨処D骞跺皢鍏惰繑鍥炪 CWidget
method string 琛ㄥ崟鎻愪氦鐨勬柟寮忋傚彲浠ユ槸鈥減ost鈥濇垨鈥済et鈥濄 榛樿鍊兼槸鈥減ost鈥濄 CActiveForm
owner CBaseController 杩斿洖姝ゅ井浠剁殑鎵鏈夎呮垨鍒涘缓鑰呫 CWidget
skin mixed 寰欢浣跨敤鐨勭毊鑲ょ殑鍚嶇О銆傞粯璁や负鈥渄efault鈥濄 濡傛灉姝ゅ睘鎬ц缃负false锛屽井浠跺皢涓嶄細鏈夌毊鑲よ浣跨敤銆 CWidget
stateful boolean 鏄惁鐢熸垚鏈夌姸鎬佺殑琛ㄥ崟锛堝弬瑙CHtml::statefulForm锛夈傞粯璁ゅ兼槸false銆 CActiveForm
viewPath string 杩斿洖鍖呭惈姝ゅ井浠舵墍闇鐨勮鍥炬枃浠剁殑璺緞銆 CWidget

鍙椾繚鎶ゅ睘鎬

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
attributes array 鐢ㄤ簬妯″瀷灞炴х殑javascript閫夐」 (input ID => options) CActiveForm
summaryID string 鍖呭惈姹囨荤殑閿欒淇℃伅鐨勫厓绱犵殑ID CActiveForm

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__construct() 鏋勯犲櫒銆 CWidget
__get() 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 CComponent
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆涓涓粍浠剁殑灞炴у笺 CComponent
__unset() 璁剧疆涓涓粍浠剁殑灞炴т负null銆 CComponent
actions() 杩斿洖姝idget浣跨敤鐨勫姩浣滅殑鍒楄〃銆 CWidget
asa() 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° CComponent
attachBehavior() 闄勫姞涓涓涓哄埌缁勪欢銆 CComponent
attachBehaviors() 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 CComponent
attachEventHandler() 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 CComponent
beginCache() Begins fragment caching. CBaseController
beginClip() Begins recording a clip. CBaseController
beginContent() Begins the rendering of content that is to be decorated by the specified view. CBaseController
beginWidget() Creates a widget and executes it. CBaseController
canGetProperty() 纭畾灞炴ф槸鍚﹀彲璇汇 CComponent
canSetProperty() 纭畾灞炴ф槸鍚﹀彲鍐欍 CComponent
checkBox() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓閫夋銆 CActiveForm
checkBoxList() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓閫夋缁勩 CActiveForm
createWidget() Creates a widget and initializes it. CBaseController
detachBehavior() 浠庣粍浠朵腑鍒嗙涓涓涓恒 CComponent
detachBehaviors() 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 CComponent
detachEventHandler() 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 CComponent
disableBehavior() 绂佺敤涓涓檮鍔犺涓恒 CComponent
disableBehaviors() 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
enableBehavior() 鍚敤涓涓檮鍔犺涓恒 CComponent
enableBehaviors() 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
endCache() Ends fragment caching. CBaseController
endClip() Ends recording a clip. CBaseController
endContent() Ends the rendering of content. CBaseController
endWidget() Ends the execution of the named widget. CBaseController
error() 鏄剧ず涓涓ā鍨嬪睘鎬х殑绗竴涓獙璇侀敊璇 CActiveForm
errorSummary() 鏄剧ず涓涓垨澶氫釜妯″瀷鐨勬眹鎬荤殑楠岃瘉閿欒淇℃伅銆 CActiveForm
evaluateExpression() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
fileField() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓枃浠朵笂浼犳帶浠躲 CActiveForm
getController() 杩斿洖姝ゅ井浠舵墍灞炵殑鎺у埗鍣ㄣ CWidget
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getId() 杩斿洖姝ゅ井浠剁殑ID銆傚鏋滈渶瑕佺殑璇濓紝灏嗙敓浜т竴涓柊鐨処D骞跺皢鍏惰繑鍥炪 CWidget
getOwner() 杩斿洖姝ゅ井浠剁殑鎵鏈夎呮垨鍒涘缓鑰呫 CWidget
getViewFile() 鏍规嵁瑙嗗浘鍚嶆煡鎵捐鍥炬枃浠躲 CWidget
getViewPath() 杩斿洖鍖呭惈姝ゅ井浠舵墍闇鐨勮鍥炬枃浠剁殑璺緞銆 CWidget
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
hiddenField() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓殣钘忓煙銆 CActiveForm
init() 鍒濆鍖杦idget銆 CActiveForm
label() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撳嚭涓涓狧TML Label鏍囩銆 CActiveForm
labelEx() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撳嚭涓涓狧TML Label鏍囩銆 CActiveForm
listBox() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓垪琛ㄦ銆 CActiveForm
passwordField() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓瘑鐮佹銆 CActiveForm
radioButton() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓崟閫夋寜閽 CActiveForm
radioButtonList() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓崟閫夋寜閽粍銆 CActiveForm
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
render() 娓叉煋涓涓鍥俱 CWidget
renderFile() Renders a view file. CBaseController
renderInternal() Renders a view file. CBaseController
run() 杩愯widget銆 CActiveForm
setId() 璁剧疆姝ゅ井浠剁殑ID銆 CWidget
textArea() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓琛岀殑鏂囨湰杈撳叆鎺т欢銆 CActiveForm
textField() 涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓緭鍏ユ銆 CActiveForm
validate() 楠岃瘉涓涓垨澶氫釜妯″瀷锛屼互JSON鏍煎紡杩斿洖缁撴灉銆 CActiveForm
validateTabular() 楠岃瘉涓涓敱澶氫釜妯″瀷瀹炰緥缁勬垚鐨勬暟缁勶紝骞跺皢楠岃瘉缁撴灉浠SON鏍煎紡杩斿洖銆 CActiveForm
widget() Creates a widget and executes it. CBaseController

灞炴ц缁

action 灞炴
public mixed $action;

琛ㄥ崟鍔ㄤ綔鐨刄RL (鍙傝CHtml::normalizeUrl浠ヤ簡瑙f洿澶氬叧浜庢鍙傛暟鐨勭粏鑺)銆 濡傛灉鏈缃紝灏嗕娇鐢ㄥ綋鍓嶉〉闈㈢殑URL銆

attributes 灞炴 锛堝彲鐢ㄨ嚜 v1.1.7锛
protected array $attributes;

鐢ㄤ簬妯″瀷灞炴х殑javascript閫夐」 (input ID => options)

鍙傝

clientOptions 灞炴
public array $clientOptions;

浼犻掔粰JavaScript楠岃瘉鎻掍欢鐨勯夐」鏁扮粍銆 鐩墠鏀寔涓嬪垪閫夐」锛



涓婅堪鐨勯儴鍒嗛夐」鍙兘琚釜浣撶殑error()璋冪敤瑕嗙洊銆 杩欓儴鍒嗛夐」鍖呮嫭锛歷alidationDelay锛寁alidateOnChange锛寁alidateOnType锛宧ideErrorMessage锛 inputContainer锛宔rrorCssClass锛宻uccessCssClass锛寁alidatingCssClass锛宐eforeValidateAttribute锛宎fterValidateAttribute銆

enableAjaxValidation 灞炴
public boolean $enableAjaxValidation;

鏄惁浣垮熀浜嶢JAX鐨勯獙璇佸彲鐢ㄣ傞粯璁ゅ兼槸false銆 褰撴灞炴ц缃负true锛屼綘搴斿綋璞′笅闈㈣繖鏍峰湪鏈嶅姟鍣ㄧ瀵笰JAX楠岃瘉璇锋眰浣滃嚭鍝嶅簲锛

public function actionCreate()
{
    $model=new User;
    if(isset($_POST['ajax']) && $_POST['ajax']==='user-form')
    {
        echo CActiveForm::validate($model);
        Yii::app()->end();
    }
    ......
}

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

鏄惁浣垮鎴风楠岃瘉鍙敤銆傞粯璁ゅ兼槸false銆

褰撴灞炴ц缃负true锛屾敮鎸佸畠鐨勯獙璇佸櫒灏嗘墽琛屽鎴风楠岃瘉銆 锛堝弬瑙CValidator::enableClientValidationCValidator::clientValidateAttribute銆傦級

鍙傝

errorMessageCssClass 灞炴
public string $errorMessageCssClass;

閿欒淇℃伅鐨凜SS绫汇傞粯璁ゅ兼槸鈥渆rrorMessage鈥濄 涓綋鐨error璋冪敤鍙互閫氳繃鎸囧畾鈥渃lass鈥滺TML閫夐」鏉ヨ鐩栬繖涓笺

focus 灞炴 锛堝彲鐢ㄨ嚜 v1.1.4锛
public mixed $focus;

椤甸潰杞藉叆鏃跺垵濮嬪寲鑾峰彇杈撳叆鐒︾偣鐨勮〃鍗曞厓绱犮

榛樿鍊兼槸null锛岃〃绀烘病鏈夎緭鍏ュ煙鎷ユ湁鐒︾偣銆 濡傛灉璁剧疆涓烘暟缁勶紝绗竴涓厓绱犳槸妯″瀷锛岀浜屼釜鍏冪礌鏄睘鎬с 濡傛灉璁剧疆涓哄瓧绗︿覆锛岄偅涔堝皢浣滀负jQuery鐨勯夋嫨鍣ㄤ娇鐢ㄣ

绀轰緥 - 璁剧疆椤甸潰杞藉叆鏃剁殑杈撳叆鐒︾偣锛

htmlOptions 灞炴
public array $htmlOptions;

additional 娓叉煋琛ㄥ崟鏍囩鐨凥TML灞炴с

method 灞炴
public string $method;

琛ㄥ崟鎻愪氦鐨勬柟寮忋傚彲浠ユ槸鈥減ost鈥濇垨鈥済et鈥濄 榛樿鍊兼槸鈥減ost鈥濄

stateful 灞炴
public boolean $stateful;

鏄惁鐢熸垚鏈夌姸鎬佺殑琛ㄥ崟锛堝弬瑙CHtml::statefulForm锛夈傞粯璁ゅ兼槸false銆

summaryID 灞炴 锛堝彲鐢ㄨ嚜 v1.1.7锛
protected string $summaryID;

鍖呭惈姹囨荤殑閿欒淇℃伅鐨勫厓绱犵殑ID

鍙傝

鏂规硶璇︾粏

checkBox() 鏂规硶
public string checkBox(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勫閫夋
婧愮爜锛 framework/web/widgets/CActiveForm.php#663 (鏄剧ず)
public function checkBox($model,$attribute,$htmlOptions=array())
{
    return 
CHtml::activeCheckBox($model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓閫夋銆 杩欎釜鏂规硶鏄CHtml::activeCheckBox鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeCheckBox浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

checkBoxList() 鏂规硶
public string checkBoxList(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$data array 鐢ㄤ簬鐢熸垚澶嶉夋缁勭殑閫夐」鐨勬暟鎹 (value=>display)
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勪笅鎷夊垪琛ㄦ
婧愮爜锛 framework/web/widgets/CActiveForm.php#711 (鏄剧ず)
public function checkBoxList($model,$attribute,$data,$htmlOptions=array())
{
    return 
CHtml::activeCheckBoxList($model,$attribute,$data,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓閫夋缁勩 杩欎釜鏂规硶鏄CHtml::activeCheckBoxList鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeCheckBoxList浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

public string dropDownList(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$data array 鐢ㄤ簬鐢熸垚鍒楄〃鐨勯夐」鐨勬暟鎹 (value=>display)
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勪笅鎷夊垪琛ㄦ
婧愮爜锛 framework/web/widgets/CActiveForm.php#679 (鏄剧ず)
public function dropDownList($model,$attribute,$data,$htmlOptions=array())
{
    return 
CHtml::activeDropDownList($model,$attribute,$data,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓笅鎷夊垪琛ㄦ銆 杩欎釜鏂规硶鏄CHtml::activeDropDownList鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeDropDownList浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

error() 鏂规硶
public string error(CModel $model, string $attribute, array $htmlOptions=array ( ), boolean $enableAjaxValidation=true, boolean $enableClientValidation=true)
$model CModel 妯″瀷鏁版嵁
$attribute string 灞炴у悕绉
$htmlOptions array 闄勫姞鍒癲iv瀹瑰櫒鐨勬爣绛剧殑HTML灞炴с 闄や簡鎵鏈夊湪CHtml::error涓彲鐢ㄧ殑閫夐」涔嬪锛屼笅鍒楅夐」涔熷彲浠ヨ璇嗗埆锛
  • validationDelay
  • validateOnChange
  • validateOnType
  • hideErrorMessage
  • inputContainer
  • errorCssClass
  • successCssClass
  • validatingCssClass
  • beforeValidateAttribute
  • afterValidateAttribute
杩欎簺閫夐」灏嗚鐩栧湪options涓哄叿浣撶殑妯″瀷灞炴у0鏄庣殑鐩稿簲鐨 閫夐」銆傝鏌ョ湅鏇村鍏充簬杩欎簺閫夐」鐨勭粏鑺傦紝璇峰弬瑙clientOptions銆 娉ㄦ剰锛氫粎褰enableAjaxValidationenableClientValidation 璁剧疆涓簍rue鏃讹紝杩欎簺閫夐」鎵嶄細琚娇鐢ㄣ

褰撳鎴风楠岃瘉鍙敤锛屼竴涓悕涓衡渃lientValidation鈥濈殑閫夐」涔熷彲琚瘑鍒 杩欎釜閫夐」璁剧疆涓娈礘avaScript浠g爜鐗囨浠ユ墽琛屽鎴风楠岃瘉锛屽湪浠g爜涓紝 棰勫畾涔変簡涓嬪垪鍙橀噺锛
  • value: 鍏宠仈鍒版灞炴х殑褰撳墠杈撳叆鍊笺
  • messages: 涓烘灞炴ч檮鍔犵殑鏂扮殑閿欒淇℃伅鐨勬暟缁勩
  • attribute: 涓烘灞炴т繚鐣欐墍鏈夊鎴风閫夐」鐨勬暟鎹粨鏋勩
$enableAjaxValidation boolean 鏄惁浣挎寚瀹氱殑灞炴х殑AJAX楠岃瘉鍙敤銆 娉ㄦ剰锛氳浣緼JAX楠岃瘉鍙敤锛enableAjaxValidation 鍜岃繖涓弬鏁伴兘蹇呴』 璁剧疆涓虹湡銆
$enableClientValidation boolean 鏄惁浣挎寚瀹氱殑灞炴х殑瀹㈡埛绔獙璇佸彲鐢ㄣ 娉ㄦ剰锛氳浣緼JAX楠岃瘉鍙敤锛enableClientValidation 鍜岃繖涓弬鏁伴兘蹇呴』 璁剧疆涓虹湡銆傛鍙傛暟鑷1.1.7鐗堝紑濮嬪彲鐢ㄣ
{return} string 楠岃瘉缁撴灉锛堟樉绀洪敊璇垨鎴愬姛娑堟伅銆傦級
婧愮爜锛 framework/web/widgets/CActiveForm.php#412 (鏄剧ず)
public function error($model,$attribute,$htmlOptions=array(),$enableAjaxValidation=true,$enableClientValidation=true)
{
    if(!
$this->enableAjaxValidation)
        
$enableAjaxValidation=false;
    if(!
$this->enableClientValidation)
        
$enableClientValidation=false;

    if(!isset(
$htmlOptions['class']))
        
$htmlOptions['class']=$this->errorMessageCssClass;

    if(!
$enableAjaxValidation && !$enableClientValidation)
        return 
CHtml::error($model,$attribute,$htmlOptions);

    
$id=CHtml::activeId($model,$attribute);
    
$inputID=isset($htmlOptions['inputID']) ? $htmlOptions['inputID'] : $id;
    unset(
$htmlOptions['inputID']);
    if(!isset(
$htmlOptions['id']))
        
$htmlOptions['id']=$inputID.'_em_';

    
$option=array(
        
'id'=>$id,
        
'inputID'=>$inputID,
        
'errorID'=>$htmlOptions['id'],
        
'model'=>get_class($model),
        
'name'=>$attribute,
        
'enableAjaxValidation'=>$enableAjaxValidation,
    );

    
$optionNames=array(
        
'validationDelay',
        
'validateOnChange',
        
'validateOnType',
        
'hideErrorMessage',
        
'inputContainer',
        
'errorCssClass',
        
'successCssClass',
        
'validatingCssClass',
        
'beforeValidateAttribute',
        
'afterValidateAttribute',
    );
    foreach(
$optionNames as $name)
    {
        if(isset(
$htmlOptions[$name]))
        {
            
$option[$name]=$htmlOptions[$name];
            unset(
$htmlOptions[$name]);
        }
    }
    if(
$model instanceof CActiveRecord && !$model->isNewRecord)
        
$option['status']=1;

    if(
$enableClientValidation)
    {
        
$validators=isset($htmlOptions['clientValidation']) ? array($htmlOptions['clientValidation']) : array();

        
$attributeName $attribute;
        if((
$pos=strrpos($attribute,']'))!==false && $pos!==strlen($attribute)-1// e.g. [a]name
        
{
            
$attributeName=substr($attribute,$pos+1);
        }

        foreach(
$model->getValidators($attributeName) as $validator)
        {
            if(
$validator->enableClientValidation)
            {
                if((
$js=$validator->clientValidateAttribute($model,$attributeName))!='')
                    
$validators[]=$js;
            }
        }
        if(
$validators!==array())
            
$option['clientValidation']="js:function(value, messages, attribute) {\n".implode("\n",$validators)."\n}";
    }

    
$html=CHtml::error($model,$attribute,$htmlOptions);
    if(
$html==='')
    {
        if(isset(
$htmlOptions['style']))
            
$htmlOptions['style']=rtrim($htmlOptions['style'],';').';display:none';
        else
            
$htmlOptions['style']='display:none';
        
$html=CHtml::tag('div',$htmlOptions,'');
    }

    
$this->attributes[$inputID]=$option;
    return 
$html;
}

鏄剧ず涓涓ā鍨嬪睘鎬х殑绗竴涓獙璇侀敊璇 杩欎釜鏂规硶绫讳技浜CHtml::error锛屼笉鍚屼箣澶勬槸瀹冩敞鍐屼簡妯″瀷灞炴 鎵浠ュ綋鐢ㄦ埛鏀瑰彉浜嗗畠鐨勫硷紝鍙兘浼氳Е鍙戜竴涓狝JAX楠岃瘉銆

鍙傝

errorSummary() 鏂规硶
public string errorSummary(mixed $models, string $header=NULL, string $footer=NULL, array $htmlOptions=array ( ))
$models mixed 瑕佹樉绀鸿緭鍏ラ敊璇殑妯″瀷銆傚彲浠ユ槸涓涓 鍗曠嫭鐨勬ā鍨嬶紝涔熷彲浠ユ槸澶氫釜妯″瀷缁勬垚鐨勪竴涓暟缁勩
$header string 鍦ㄩ敊璇俊鎭箣鍓嶈鏄剧ず鐨勪竴娈礖TML浠g爜銆
$footer string 鍦ㄩ敊璇俊鎭箣鍚庤鏄剧ず鐨勪竴娈礖TML浠g爜銆
$htmlOptions array 鐢ㄤ簬娓叉煋div瀹瑰櫒鏍囩鐨勯檮鍔燞TML灞炴с
{return} string 閿欒淇℃伅姹囨汇傚鏋滀笉瀛樺湪浠讳綍閿欒锛屽垯杩斿洖绌恒
婧愮爜锛 framework/web/widgets/CActiveForm.php#511 (鏄剧ず)
public function errorSummary($models,$header=null,$footer=null,$htmlOptions=array())
{
    if(!
$this->enableAjaxValidation && !$this->enableClientValidation)
        return 
CHtml::errorSummary($models,$header,$footer,$htmlOptions);

    if(!isset(
$htmlOptions['id']))
        
$htmlOptions['id']=$this->id.'_es_';
    
$html=CHtml::errorSummary($models,$header,$footer,$htmlOptions);
    if(
$html==='')
    {
        if(
$header===null)
            
$header='<p>'.Yii::t('yii','Please fix the following input errors:').'</p>';
        if(!isset(
$htmlOptions['class']))
            
$htmlOptions['class']=CHtml::$errorSummaryCss;
        
$htmlOptions['style']=isset($htmlOptions['style']) ? rtrim($htmlOptions['style'],';').';display:none' 'display:none';
        
$html=CHtml::tag('div',$htmlOptions,$header."\n<ul><li>dummy</li></ul>".$footer);
    }

    
$this->summaryID=$htmlOptions['id'];
    return 
$html;
}

鏄剧ず涓涓垨澶氫釜妯″瀷鐨勬眹鎬荤殑楠岃瘉閿欒淇℃伅銆 杩欎釜鏂规硶绫讳技浜CHtml::errorSummary锛屼笉鍚屼箣澶勬槸 褰撴墽琛孉JAX楠岃瘉鏃跺畠鍚屾牱鍙互宸ヤ綔銆

fileField() 鏂规硶
public string fileField(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勬枃浠朵笂浼犳帶浠
婧愮爜锛 framework/web/widgets/CActiveForm.php#633 (鏄剧ず)
public function fileField($model,$attribute,$htmlOptions=array())
{
    return 
CHtml::activeFileField($model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓枃浠朵笂浼犳帶浠躲 杩欎釜鏂规硶鏄CHtml::activeFileField鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeFileField浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

hiddenField() 鏂规硶
public string hiddenField(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勯殣钘忓煙
婧愮爜锛 framework/web/widgets/CActiveForm.php#588 (鏄剧ず)
public function hiddenField($model,$attribute,$htmlOptions=array())
{
    return 
CHtml::activeHiddenField($model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓殣钘忓煙銆 杩欎釜鏂规硶鏄CHtml::activeHiddenField鐨勪竴涓寘瑁咃紝 璇峰弬瑙CHtml::activeHiddenField浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

init() 鏂规硶
public void init()
婧愮爜锛 framework/web/widgets/CActiveForm.php#318 (鏄剧ず)
public function init()
{
    if(!isset(
$this->htmlOptions['id']))
        
$this->htmlOptions['id']=$this->id;
    if(
$this->stateful)
        echo 
CHtml::statefulForm($this->action$this->method$this->htmlOptions);
    else
        echo 
CHtml::beginForm($this->action$this->method$this->htmlOptions);
}

鍒濆鍖杦idget銆 姝ゆ柟娉曟覆鏌撹〃鍗曠殑寮濮嬫爣绛俱

label() 鏂规硶
public string label(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 妯″瀷鐨勫睘鎬
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 浜х敓鐨凩abel鏍囩銆
婧愮爜锛 framework/web/widgets/CActiveForm.php#543 (鏄剧ず)
public function label($model,$attribute,$htmlOptions=array())
{
    return 
CHtml::activeLabel($model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撳嚭涓涓狧TML Label鏍囩銆 杩欎釜鏂规硶鏄CHtml::activeLabel鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeLabel浠ヤ簡瑙f洿澶氬叧浜 杩欎釜鏂规硶鐨勫弬鏁扮殑淇℃伅銆

labelEx() 鏂规硶
public string labelEx(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨凩abel鏍囩
婧愮爜锛 framework/web/widgets/CActiveForm.php#558 (鏄剧ず)
public function labelEx($model,$attribute,$htmlOptions=array())
{
    return 
CHtml::activeLabelEx($model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撳嚭涓涓狧TML Label鏍囩銆 杩欎釜鏂规硶鏄CHtml::activeLabelEx鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeLabelEx浠ヤ簡瑙e叧浜庢鏂规硶 鐨勫弬鏁扮殑鏇村璇︾粏淇℃伅銆

listBox() 鏂规硶
public string listBox(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$data array 鐢ㄤ簬鐢熸垚鍒楄〃鐨勯夐」鐨勬暟鎹 (value=>display)
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勫垪琛ㄦ
婧愮爜锛 framework/web/widgets/CActiveForm.php#695 (鏄剧ず)
public function listBox($model,$attribute,$data,$htmlOptions=array())
{
    return 
CHtml::activeListBox($model,$attribute,$data,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓垪琛ㄦ銆 杩欎釜鏂规硶鏄CHtml::activeListBox鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeListBox浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

passwordField() 鏂规硶
public string passwordField(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勫瘑鐮佹
婧愮爜锛 framework/web/widgets/CActiveForm.php#603 (鏄剧ず)
public function passwordField($model,$attribute,$htmlOptions=array())
{
    return 
CHtml::activePasswordField($model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓瘑鐮佹銆 杩欎釜鏂规硶鏄CHtml::activePasswordField鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activePasswordField浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

radioButton() 鏂规硶
public string radioButton(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勫崟閫夋寜閽
婧愮爜锛 framework/web/widgets/CActiveForm.php#648 (鏄剧ず)
public function radioButton($model,$attribute,$htmlOptions=array())
{
    return 
CHtml::activeRadioButton($model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓崟閫夋寜閽 杩欎釜鏂规硶鏄CHtml::activeRadioButton鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeFileField浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

radioButtonList() 鏂规硶
public string radioButtonList(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$data array 鐢ㄤ簬鐢熸垚鍗曢夋寜閽粍鐨勯夐」鐨勬暟鎹 (value=>display)
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勫崟閫夋寜閽粍
婧愮爜锛 framework/web/widgets/CActiveForm.php#727 (鏄剧ず)
public function radioButtonList($model,$attribute,$data,$htmlOptions=array())
{
    return 
CHtml::activeRadioButtonList($model,$attribute,$data,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓崟閫夋寜閽粍銆 杩欎釜鏂规硶鏄CHtml::activeRadioButtonList鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeRadioButtonList浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

run() 鏂规硶
public void run()
婧愮爜锛 framework/web/widgets/CActiveForm.php#332 (鏄剧ず)
public function run()
{
    if(
is_array($this->focus))
        
$this->focus="#".CHtml::activeId($this->focus[0],$this->focus[1]);

    echo 
CHtml::endForm();
    
$cs=Yii::app()->clientScript;
    if(!
$this->enableAjaxValidation && !$this->enableClientValidation || empty($this->attributes))
    {
        if(
$this->focus!==null)
        {
            
$cs->registerCoreScript('jquery');
            
$cs->registerScript('CActiveForm#focus',"
                if(!window.location.hash)
                    $('"
.$this->focus."').focus();
            "
);
        }
        return;
    }

    
$options=$this->clientOptions;
    if(isset(
$this->clientOptions['validationUrl']) && is_array($this->clientOptions['validationUrl']))
        
$options['validationUrl']=CHtml::normalizeUrl($this->clientOptions['validationUrl']);

    
$options['attributes']=array_values($this->attributes);

    if(
$this->summaryID!==null)
        
$options['summaryID']=$this->summaryID;

    if(
$this->focus!==null)
        
$options['focus']=$this->focus;

    
$options=CJavaScript::encode($options);
    
$cs->registerCoreScript('yiiactiveform');
    
$id=$this->id;
    
$cs->registerScript(__CLASS__.'#'.$id,"\$('#$id').yiiactiveform($options);");
}

杩愯widget銆 杩欎釜鏂规硶娉ㄥ唽蹇呰鐨刯avascript浠g爜锛屾覆鏌撹〃鍗曠粨鏉熸爣绛俱

textArea() 鏂规硶
public string textArea(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勫琛屾枃鏈緭鍏ユ帶浠
婧愮爜锛 framework/web/widgets/CActiveForm.php#618 (鏄剧ず)
public function textArea($model,$attribute,$htmlOptions=array())
{
    return 
CHtml::activeTextArea($model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓琛岀殑鏂囨湰杈撳叆鎺т欢銆 杩欎釜鏂规硶鏄CHtml::activeTextArea鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeTextArea浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

textField() 鏂规硶
public string textField(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴
{return} string 鐢熸垚鐨勮緭鍏ユ
婧愮爜锛 framework/web/widgets/CActiveForm.php#573 (鏄剧ず)
public function textField($model,$attribute,$htmlOptions=array())
{
    return 
CHtml::activeTextField($model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬ф覆鏌撲竴涓緭鍏ユ銆 杩欎釜鏂规硶鏄CHtml::activeTextField鐨勪竴涓寘瑁呫 璇峰弬瑙CHtml::activeTextField浠ヤ簡瑙 鍏充簬姝ゆ柟娉曠殑鍙傛暟鐨勬洿澶氳缁嗕俊鎭

validate() 鏂规硶
public static string validate(mixed $models, array $attributes=NULL, boolean $loadInput=true)
$models mixed 涓涓崟鐙殑妯″瀷瀹炰緥鎴栧涓ā鍨嬬粍鎴愮殑涓涓暟缁勩
$attributes array 灏嗚楠岃瘉鐨勫睘鎬х殑鍒楄〃銆傞粯璁ゅ兼槸null锛 琛ㄧず妯″瀷鐨勬墍鏈夊叿鏈夊彲鐢ㄩ獙璇佽鍒欑殑灞炴ч兘灏嗚楠岃瘉銆 濡傛灉姝ゅ弬鏁拌璁惧畾涓烘煇浜涘睘鎬х殑鍒楄〃锛岄偅涔堝彧鏈夊垪鍑虹殑 杩欎簺灞炴у皢琚獙璇併
$loadInput boolean 鏄惁浠庢鏂规硶鐨$_POST鏁扮粍杞藉叆鏁版嵁銆 濡傛灉璁剧疆涓虹湡锛屾ā鍨嬪皢浼氳$_POST[ModelClass]濉厖銆
{return} string JSON鏍煎紡琛ㄧず鐨勯獙璇侀敊璇俊鎭
婧愮爜锛 framework/web/widgets/CActiveForm.php#744 (鏄剧ず)
public static function validate($models$attributes=null$loadInput=true)
{
    
$result=array();
    if(!
is_array($models))
        
$models=array($models);
    foreach(
$models as $model)
    {
        if(
$loadInput && isset($_POST[get_class($model)]))
            
$model->attributes=$_POST[get_class($model)];
        
$model->validate($attributes);
        foreach(
$model->getErrors() as $attribute=>$errors)
            
$result[CHtml::activeId($model,$attribute)]=$errors;
    }
    return 
function_exists('json_encode') ? json_encode($result) : CJSON::encode($result);
}

楠岃瘉涓涓垨澶氫釜妯″瀷锛屼互JSON鏍煎紡杩斿洖缁撴灉銆 杩欐槸涓涓敤浜庣畝鍖栫紪鍐橝JAX楠岃瘉浠g爜鐨勬柟寮忕殑鍔╂墜鏂规硶銆

validateTabular() 鏂规硶
public static string validateTabular(mixed $models, array $attributes=NULL, boolean $loadInput=true)
$models mixed 澶氫釜妯″瀷瀹炰緥缁勬垚鐨勬暟缁勩
$attributes array 灏嗚楠岃瘉鐨勫睘鎬х殑鍒楄〃銆傞粯璁ゅ兼槸null锛 琛ㄧず妯″瀷鐨勬墍鏈夊叿鏈夊彲鐢ㄩ獙璇佽鍒欑殑灞炴ч兘灏嗚楠岃瘉銆 濡傛灉姝ゅ弬鏁拌璁惧畾涓烘煇浜涘睘鎬х殑鍒楄〃锛岄偅涔堝彧鏈夊垪鍑虹殑 杩欎簺灞炴у皢琚獙璇併
$loadInput boolean 鏄惁浠庢鏂规硶鐨$_POST鏁扮粍杞藉叆鏁版嵁銆 濡傛灉璁剧疆涓虹湡锛屾ā鍨嬪皢浼氳$_POST[ModelClass]濉厖銆
{return} string JSON鏍煎紡琛ㄧず鐨勯獙璇侀敊璇俊鎭
婧愮爜锛 framework/web/widgets/CActiveForm.php#772 (鏄剧ず)
public static function validateTabular($models$attributes=null$loadInput=true)
{
    
$result=array();
    if(!
is_array($models))
        
$models=array($models);
    foreach(
$models as $i=>$model)
    {
        if(
$loadInput && isset($_POST[get_class($model)][$i]))
            
$model->attributes=$_POST[get_class($model)][$i];
        
$model->validate($attributes);
        foreach(
$model->getErrors() as $attribute=>$errors)
            
$result[CHtml::activeId($model,'['.$i.']'.$attribute)]=$errors;
    }
    return 
function_exists('json_encode') ? json_encode($result) : CJSON::encode($result);
}

楠岃瘉涓涓敱澶氫釜妯″瀷瀹炰緥缁勬垚鐨勬暟缁勶紝骞跺皢楠岃瘉缁撴灉浠SON鏍煎紡杩斿洖銆 杩欐槸涓涓敤浜庣畝鍖栫紪鍐欒〃鏍煎紡杈撳叆鐨凙JAX楠岃瘉浠g爜鐨勬柟寮忕殑鍔╂墜鏂规硶銆

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