在Yii中主要是通過yiiwidgetsActiveForm類來創(chuàng)建表單(表單小部件),下面我們來介紹一下yii中表單的寫法,希望對(duì)學(xué)習(xí)yii框架的同學(xué)有幫助!
yii框架表單怎么寫?
(1)首先創(chuàng)建表單實(shí)例
<?php $form=ActiveForm::begin();?> //$form是表單實(shí)例 ... <?php ActiveForm::end();?>
ActiveForm::begin()不僅標(biāo)志著表單的開始,也同時(shí)創(chuàng)建了一個(gè)表單實(shí)例。
推薦學(xué)習(xí):yii教程
(2)然后創(chuàng)建ActiveField實(shí)例
<?php $form=ActiveForm::begin();?> + <?= $form->field($model,'title')?> <?php ActiveForm::end();?>
放在ActiveForm::begin()與ActiveForm::end()之間的所有內(nèi)容都被包裹在HTML的<form>標(biāo)簽中。
通過調(diào)用ActiveForm::field()方法來創(chuàng)建ActiveField實(shí)例,這個(gè)實(shí)例會(huì)創(chuàng)建表單元素與元素的標(biāo)簽,以及對(duì)應(yīng)的JavaScript應(yīng)證。
每個(gè)ActiveField都有對(duì)應(yīng)的模型和屬性,input輸入框的name屬性會(huì)自動(dòng)地根據(jù)屬性名創(chuàng)建;同時(shí)還會(huì)用屬性的驗(yàn)證規(guī)則來驗(yàn)證用戶的數(shù)據(jù)輸入。
(3)使用示例
<?= $form->field($model,'body')->textarea(['rows'=>3]) =?>
-
$form->field($model,'body')創(chuàng)建了一個(gè)ActiveField對(duì)象;
-
ActiveField的方法textarea()創(chuàng)建了3行的輸入框;