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