本篇帖子只介绍ActiveForm中的form属性和字段属性以及样式的相关介绍,其他的您可自行查阅文档了解。
yii2框架的中的Activeform表单部分组件是一个很好用的功能,但是官方文档的介绍却是很少而且缺少例子去说明讲解。网上资源和文档又大多都是重复的粘贴复制,这对一个萌新小白实在太不友好了。所以这里把自己的遇到的一下东西记下来并希望能够帮助到其他的人。
ActiveForm::begin()代表form的开始,begin()中可以设置很多的参数,直接看例子
<?php $form = ActiveForm::begin([
'id'=>'form-login', //会在form标签中添加id属性:<form id="form-login">
'method'=>'post', //设置form表单的提交属性
'fieldConfig' => [
'options' => [
'tag' => false, //创建字段时不生成上一层的<div class='form-group'>
'template' => "{label}\n<div class=\"col-lg-5\">{input}</div>\n<div class=\"col-lg-3\">{error}</div>", //修改显示内容默认为{label}\n{input}\n{hint}\n{error} \n是html代码显示时的换行
'labelOptions' => ['class' => 'col-lg-2 control-label'], //修改label的样式
...
],
],
]) ?>
总结:可以看出相对标签设置属性可以直接在参数数组内以k-v的方式加入,替他的特殊设置则要在options中配置
再看一个字段的属性设置
<?= $form->field($model, 'username')
->label(false) //这里表示不生成label标签
->textInput([
'id'=>'LAY-user-login-username',
'class'=>'layui-input',
'lay-verify'=>'required',
'placeholder'=>'用户名'
]) ?>
总结:发现要对input设置id,class或其他额外属性可以直接在textInput([])的数组内添加即可,另外要对inp的父级div设置样式要在field($model, 'username', [])的数组内设置;