当前位置: 首页 > 知识库问答 >
问题:

yii2:使用kartik的ActiveForm增加文件输入宽度

田慈
2023-03-14

一个简单的问题,但不幸的是没有答案:

我用的是像这样的活动形式的kartik

<?php
    $form = ActiveForm::begin([
                'id' => 'dynamic-form',
                'type' => ActiveForm::TYPE_INLINE,
                'formConfig' => [
                    'showLabels' => false,
                    'formConfig' => ['deviceSize' => ActiveForm::SIZE_LARGE]
    ]]);
?>

像这样上传文件的小部件

<div class="col-md-12">
        <?=
        $form->field($model, 'attachement[]', ['horizontalCssClasses' => [''deviceSize' => ActiveForm::SIZE_LARGE]])->widget(FileInput::classname(), [
            'options' => ['multiple' => true],
            'pluginOptions' => ['allowedFileExtensions' => ['jpg', 'bmp', 'png', 'docx', 'doc', 'xls', 'xlsx', 'csv', 'ppt', 'pptx', 'pdf', 'txt', 'avi', 'mpeg', 'mp3', 'sql']
            ],
        ])
        ?>
</div>

无论我尝试什么,引导规则col-md-12都会因为使用类型INLINE而导致无效。使用TYPE-HORIZONTAL实现了我的意图,但是我需要TYPE-INLINE用于其他输入字段。

任何想法如何实现我的意图显示部件在整个屏幕宽度?

共有1个答案

浦修文
2023-03-14

如果试图将col-sm-12类添加到表单组元素/字段的容器标记中,则可以使用如下表单fieldConfig选项

<?php
$form = ActiveForm::begin ( [
            'id' => 'dynamic-form' ,
            'type' => ActiveForm::TYPE_INLINE ,
            'fieldConfig' => [
                'options' => [
                    'class' => 'col-sm-12 form-group' ,
                    'tag' => 'div'
                ]
            ] ,
            'formConfig' => [
                'showLabels' => false ,
                'formConfig' => [ 'deviceSize' => ActiveForm::SIZE_LARGE ]
    ] ] );
?>

如果您只想将该类添加到文件字段小部件的containerdiv,那么可以通过字段的选项添加它

<?=
$form->field ( $modelUpload , 'file',[
    'options'=>['class'=>'form-group col-sm-12'],
] )->widget ( FileInput::classname () , [
    'options' => [ 'multiple' => true ] ,
    'pluginOptions' => [ 'allowedFileExtensions' => [ 'jpg' , 'bmp' , 'png' , 'docx' , 'doc' , 'xls' , 'xlsx' , 'csv' , 'ppt' , 'pptx' , 'pdf' , 'txt' , 'avi' , 'mpeg' , 'mp3' , 'sql' ]
    ] ,
] )
?>

 类似资料:
  • 这是情况:我是第一次在Yii2上,想在ActiveForm中使用一些文件上传器小部件...到目前为止,我已经找到了这个出色的:\kartik\widget\FileInput 有了这个小部件,我可以管理文件上传,然后,当进入编辑模式时,显示以前上传的图像和替换它的机会。 问题是,如果我按下表单的“更新”按钮而不修改图像,yii说图像“不能是空的”,因为我在模型中设置了“必需”规则。

  • 我正在使用kartik文件输入。 我无法验证,即在提供所需文件时仍然显示验证错误。下面是我的代码。文件已正确上载。但仍然显示“请上传一个文件。” 视图: 行动: 模型设置: 上传功能:

  • 我创建了一个文件输入字段yii2使用kartik file输入小部件。看到下面的代码就行了 如何隐藏突出显示的按钮。我是说取消按钮

  • 所以我正在和Yii2一起工作,对它来说是相当新的。我正在使用Kartik文件上传,并试图将代码转换为多个文件。但它只保存了第一个文件。 我已经删除了验证,因为这也是失败的,但一旦我知道所有其他的都在工作,我会重新添加。 型号: 控制器: 查看:

  • 我试图使用在表单中加载多个文件。 我使用我的表将文件名和其他字段保存在数据库中,并将文件保存在我的文件系统中。我通常把和通过表链接起来。 我成功地保存了多个文件,但当我加载特定

  • 我决定上传几个图像文件使用文件输入小部件 控制员/行动 模型 这是印刷品 后果 结果是数组中只有最后一个文件。如果我不使用这个小部件,那么一切都是正常加载的数组。 如何加载和处理一组照片?