Yii2中ActiveForm::begin()的常用参数


通过打印begin里的数组发现,不能使用class属性,会和使用的activeForm相冲突,所以,使用的样式class都以option数组来配置

基础版

$form = ActiveForm::begin(['id'=>'countrys-form','method' => 'post','action' => ['add'],'options' => ['enctype' => 'multipart/form-data']]);

提高版

 $form = ActiveForm::begin(
[
    'id'=>'msg-form',
 'action' => ['save','id' => $model->id]
    'options' => ['class'=>'form-horizontal','enctype' => 'multipart/form-data'],
    'enableAjaxValidation'=>false,
    'fieldConfig' => [
                'template' =>"{label}\n<div class=\"col-lg-3\">{input}</div>\n<div class=\"col-lg-8\">{error}</div>", 'labelOptions' => ['class' => 'col-lg-1 control-label'], ] ]

1.'id'=>'msg-form' 表单form 的id ,除了唯一标识的作用外,如果你开启了表单异步规则验证,这个也会作为$_POST[ajax]参数提交到action中。
2.'options' => ['class'=>'form-horizontal']给form 加的一些属性
3.'enableAjaxValidation'=>false这个就是「是否进行异步验证」的配置。其实它默认是false的,完全可以不用列出来,之所以这里列出是觉得有必要知道这个属性的存在,因为在复杂的表单中一般都是 设置为true。同时,在你的action中还要增加对于异步验证的方法。
4.'fieldConfig'对表单中 将要生成的 ActiveField对象 进行配置,上面讲的是在input条目中进行配置,而这里就是统一配置。

白发渔樵

白发渔樵

发表评论

电子邮件地址不会被公开。 必填项已用*标注