Yii2.0框架ActiveForm总结

薄洪涛6年前PHP1166

首先引入ActiveForm和Html这里两个是很重要的

<?php
    use yii\bootstrap\ActiveForm;
    use yii\helpers\Html;
?>

文本框:textInput(); 

密码框:passwordInput();

单选框:radio(),radioList(); 

复选框:checkbox(),checkboxList(); 

下拉框:dropDownList(); 

隐藏域:hiddenInput(); 

文本域:textarea(['rows'=>3]);

文件上传:fileInput(); 

提交按钮:submitButton(); 

重置按钮:resetButtun();

<?php $form = ActiveForm::begin([
        'method' => 'post',                                // 传值类型
        'action' => \yii\helpers\Url::to(['user/index']), // 默认提交到当前控制器方法,但可以设置
        'options' => [  // 设置form的属性
            'enctype' => 'multipart/form-data',  // 上传文件设置 注意:与post方法配套使用
            'class' => 'form-horizontal',        // 设置form的class
        ],
        'fieldConfig' => [                       // 为每一个input 设置
            'template' => "{label}\n<div class=\"col-lg-5\">{input}</div>\n<div class=\"col-lg-5\">{error}</div>",
            // <label></label> \n <div class="..."> <input ...> </div>\n<div class=\"col-lg-5\">这个是yii默认的错误提示</div>
            'labelOptions' => ['class' => 'col-lg-2 control-label'],    // 设置label 的属性 添加class
        ],
    ]); ?>

    <?= $form->field($model, 'username')->textInput([
        'maxlength' => 20,  // 最多输入20个字符
        'minlength' => 6,   // 最少输入6个字符
        'placeholder' => '提示',
    ]) ?>

    <?= $form->field($model, 'password')->passwordInput(['maxlength' => 20]) ?>

    <?= $form->field($model, 'sex')->radioList(['1' => '男', '0' => '女']) ?>

    <?= $form->field($model, 'edu')->dropDownList(['1' => '大学', '2' => '高中', '3' => '初中'], ['prompt' => '请选择', 'style' => 'width:120px']) ?>

    <?= $form->field($model, 'file')->fileInput() ?>

    <?= $form->field($model, 'hobby')->checkboxList(['0' => '篮球', '1' => '足球', '2' => '羽毛球', '3' => '乒乓球']) ?>

    <?= $form->field($model, 'hobby')->checkbox() ?> // 单复选框,值1/0

    <?= $form->field($model, 'info', [
        // 可以自定义,并会覆盖掉form中设置的属性
        'template' => '<div class="form-group">{label}<div class="col-lg-6">{input}</div>{error}</div>',
        'labelOptions' => ['class' => 'col-lg-2 control-label'],
    ])->textarea([
        'rows' => 4,    // 可输入多少行
        'placeholder' => '提示'
    ]) ?>

    <?= $form->field($model, 'userid')->hiddenInput(['value' => 3]) ?>

    <div class="form-group">
        <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
        <?= Html::resetButton('重置', ['class' => 'btn btn-info']) ?>
    </div>

复选框 & 单选框

### // 控制器中
use yii\helpers\ArrayHelper;
### //方法中
$grade = Groud::find()->all(); // 查询出想遍历的东东
$listData = ArrayHelper::map($grade, 'id', 'name'); // 出来的就是这个样子的['1' => '大学', '2' => '高中', '3' => '初中']
### // 视图中
<?= $form->field($model, 'sex')->radioList($listData) ?>

<?= $form->field($model, 'edu')->dropDownList($listData, ['prompt' => '请选择', 'style' => 'width:120px']) ?>


相关文章

YII2独立开发遇到的坑

    之前开发的时候,遇到图片上传什么的都是直接用前辈们配好的插件等等,换了家公司以后,要自己独立开发项目,顿时遇到了问题,开始是项目的配置,然后在添加的时候遇到了图片上传的问题...

Yii2.0搭建接口模块教程

Yii2.0搭建接口模块教程

最近我需要做一个大项目中的一个模块,考虑用前后端分离,所以想自己搭建一套基于Yii2.0的restful接口出来,本来的时候老大想让我用spring boot,无奈我太菜只会php.....教程开始:...

Yii2.0中事件的使用及理解

Yii2.0中事件的使用及理解

    Yii 三大特性:属性,事件,行为;这篇文章咱们讲讲Yii事件;    事件是代码解耦的一种方式,设计业务流程的...

Yii2.0认证及限流

Yii2.0认证及限流

上次搭建了Yii2.0的接口框架后,现在开始搭建认证和限流模块,先说下这两个模块的作用认证:前后端分离,每次请求都是无状态的,及每一次请求服务器不知道你是谁,你有没有登陆;我们就需要做一个认证模块去识...

Elasticsearch第三篇之全文搜索及在Yii2.0中的使用

Elasticsearch第三篇之全文搜索及在Yii2.0中的使用

前几天做了一个模块,大数据的搜索,其实也不是特别大,组合起来差不多800万左右,用的是mysql数据库,需求有这么变态的两点;需要按照地址去搜索按照起止时间去搜索别的不说,就这两条,mysql也就只能...

Yii2.0整合ueditor并上传图片到七牛云

Yii2.0整合ueditor并上传图片到七牛云

某个项目要做一个文章模块,用到Ueditor,并且ue中的图片要上传到七牛,所以总结下步骤;1、Yii2.0下载ueditor for Yii2.0和七牛composer require&n...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。