Yii2使用表单标签

时间:2016-10-10 12:01:52

标签: forms yii2

当我提交表单时,我遇到了一些错误, 这是我的表单脚本,其中包含已发布的字段。

<?php $form = ActiveForm::begin([
        'action'=>'userpermission/create',
    ]); ?>
    <form method="post" action="<?php echo Yii::$app->getUrlManager()->createUrl('admin/userpermission/create')?>">
        <ul class="list-unstyled">
            <li>
                <?= $form->field($model, 'idPermission')->checkboxList(ArrayHelper::map(Permission::find()->all(),"idPermission", "libelle", [
                    'onclick' => "$(this).val( $('input:checkbox:checked').val());",
                    'item' => function($index, $label, $name, $checked, $value) {
                    return "<label class='ckbox ckbox-primary col-md-4'><input type='checkbox' {$checked} name='{$name}' value='{$value}' tabindex='3'>{$label}</label>";

                    }
                ])) ?>
            </li><br>  
       </ul>
    <div class="form-group">
        <?php Html::submitButton($model->isNewRecord ? 'Valider' : 'Create' ,['class' => $model->isNewRecord ? 'btn btn-primary','value'=>'Create', 'name'=>'submit']) ?>
    </div>
    <?php ActiveForm::end(); ?>

我的创建函数看起来像但是我得到了错误未定义的变量模型!

public function actionCreate()
    {
        $model = new Userpermission();
        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            print_r(Yii::$app->request->post());
            exit;
            return $this->redirect(['index', 'id' => $model->id]);
        } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
    }

1 个答案:

答案 0 :(得分:2)

第一关,您不需要 <form> 标记。

<?php $form = ActiveForm::begin([
        'action'=>'userpermission/create',
    ]); ?>

使用相应的客户端验证为您创建并初始化表单。

可能的问题是由于未公开的</form>,无论如何都是不必要的。 建议完全删除<form>标记。并再次尝试,如果有任何问题,请让我知道错误。 还会在print_r(Yii::$app->request->post());条件之前带来if。 在您的函数中启用错误报告

error_reporting(E_ALL);

请将文件名提供给代码块。这样会更容易理解。