yii表单小部件
2018-03-17 22:06
134 查看
[align=justify]
[/align][align=justify][/align] 要想使用表单小部件 必须使用model 在使用model时 需要加载表单小部件的组件 分别是 yii\widgets\ActiveForm 和 yii\helpers\Html;
然后在我们的model类中 定于各个表单小部件的name值 定义规则
接下来 是控制器层我们需要将model和我们的控制器进行关联
最后是展示页面的views层
http://blog.aulei521.com/2017/04/12/yii-%E8%A1%A8%E5%8D%95%E5%B0%8F%E9%83%A8%E4%BB%B6/ Yii框架中不是呀表单小部件必须要在表单页加一行<input type="hidden" name="_csrf" id="_csrf" value="<?= Yii::$app->request->csrfToken?>">
[/align][align=justify][/align] 要想使用表单小部件 必须使用model 在使用model时 需要加载表单小部件的组件 分别是 yii\widgets\ActiveForm 和 yii\helpers\Html;
然后在我们的model类中 定于各个表单小部件的name值 定义规则
<?php namespace frontend\models; use yii\base\Model; use yii\widgets\ActiveForm; use yii\helpers\Html; class Form extends Model { public $name; public $pwd; public $sex; public $hobby; public $age; public $intruction; public function rules(){ return [ ['name', 'email'], [['name'[/b],'pwd','sex','hobby','age'],'required'], ]; } public function attributeLabels(){ return[ 'name'=>'用户名', 'pwd'=>'密码', 'sex'=>'性别', 'hobby'=>'爱好' ]; } public function getage($start,$end){ $arr = array(); for($i = $start;$i<=$end;$i++){ $arr[$i] = $i; } return $arr; } public function arrtodata($data){ $arr = array(); foreach($data as $value){ $arr[$value['kid']] = $value['kname']; } return $arr; } //array('kid'=>'kname') }在这个model里 多了三个方法 分别 是 将表头的英文变为汉字 attributeLabels处理年龄需要的数据 getage处理 数据库二维数组 变为我们需要的一维数组 当然 我们处理的比较死 你可以将需要的key 值自己处理处理成活的
接下来 是控制器层我们需要将model和我们的控制器进行关联
<?php namespace frontend\controllers; use yii\web\Controller; use frontend\models\Form; use yii; use db; class FormController extends Controller { public function actionIndex(){ $model = new Form(); $sql = 'select kid,kname from exam_tiku'; $dat = Yii::$app->db->createCommand($sql)->queryAll(); $age = $model->getage(18,100); $data = $model->arrtodata($dat); return $this->render('index',['model'=>$model,'age'=>$age,'data'=>$data]); } public function actionAdd(){ $data = Yii::$app->request->post(); echo $data['Form']['name']; } }
最后是展示页面的views层
<?php use yii\widgets\ActiveForm; use yii\helpers\Html; $form = ActiveForm::begin([ 'id' => 'login-form', 'options' => ['class' => 'form-horizontal'], b846 'action'=>'?r=form/add', 'method'=>'post', ]) ?>
<?php $model->sex=1 ?> //默认选中单选按钮 <?= $form->field($model, 'name')->textInput() ?> <?= $form->field($model, 'pwd')->passwordInput() ?> <?= $form->field($model, 'sex')->radioList([0=>'男',1=>'女']) ?> <?= $form->field($model, 'hobby')->checkboxList($data) ?> <?= $form->field($model, 'age')->dropDownList($age) ?> <?= $form->field($model, 'intruction')->textarea(['rows'=>3]) ?> <div class="form-group"> <div class="col-lg-offset-1 col-lg-11"> <?= Html::submitButton('提交', ['class' => 'btn btn-primary']) ?> </div> </div> <?php ActiveForm::end() ?>在这里我们使用的 文本框 下拉框 密码框 复选框 等等更多请参考
http://blog.aulei521.com/2017/04/12/yii-%E8%A1%A8%E5%8D%95%E5%B0%8F%E9%83%A8%E4%BB%B6/ Yii框架中不是呀表单小部件必须要在表单页加一行<input type="hidden" name="_csrf" id="_csrf" value="<?= Yii::$app->request->csrfToken?>">
不然提交不过去
或者是禁止验证 加一行
public $enableCsrfValidation = false;
相关文章推荐
- YII 小部件 yii小部件查看方法 小物件做的表单
- yii 2.0中表单小部件的使用方法示例
- yii2.0 表单小部件常用的默认选中
- Yii框架 AR 与 添加表单小部件
- Yii框架中表单小部件
- 使用Yii框架自带的CActiveForm实现ajax提交表单
- yii2.0 Activeform表单部分组件使用方法
- yii如何将表单验证提示弄成中文的
- yii 表单元素的验证
- Yii 使用CActiveForm创建表单,以及htmlOptions简单说明
- yii 2.0 表单 post方法报错400
- Yii框架中的form表单
- yii使用表单–创建表单
- 关于yii表单验证的问题
- 3:Yii使用表单(Yii权威指南)
- 一步步学习微软InfoPath2010和SP2010--第八章节--使用InfoPath表单Web部件(1)--Web部件设置
- YII 自动引入juquery进行表单验证
- Yii框架表单提交验证功能分析
- Yii小部件