Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Yi2中的删除操作中忽略ajaxValidation?_Ajax_Validation_Yii2 - Fatal编程技术网

如何在Yi2中的删除操作中忽略ajaxValidation?

如何在Yi2中的删除操作中忽略ajaxValidation?,ajax,validation,yii2,Ajax,Validation,Yii2,我有一张像follow这样的表格 <?php widgets\Pjax::begin(['id' => 'authors', 'enablePushState' => false]) ?> <?php $form = ActiveForm::begin(['id' => $model->formName(),'enableAjaxValidation'=>true,'validationUrl'=>\yii\helpers\U

我有一张像follow这样的表格

    <?php widgets\Pjax::begin(['id' => 'authors', 'enablePushState' => false]) ?>
    <?php $form = ActiveForm::begin(['id' => $model->formName(),'enableAjaxValidation'=>true,'validationUrl'=>\yii\helpers\Url::toRoute(['paper-author/validation']), 'options' => ['data-pjax' => '']]); ?>
    <?php echo $form->field($model, 'FirstName')->textInput()->input('string', ['placeholder' => Yii::t('app', ' FirstName...')])->label(false) ?>
    <?php echo $form->field($model, 'LastName')->textInput()->input('string', ['placeholder' => Yii::t('app', ' LastName...')])->label(false) ?>   
 <?= Html::submitButton('Save', ['class' => 'btn btn-success', 'id' => 'btn1']) ?>
    $widget = Yii::createObject([
                'class' => 'yii\grid\GridView',
                'dataProvider' => $dataprovider,
                'columns' => [
                    'FirstName',
                    'LastName',
                    [
                        'class' => 'yii\grid\ActionColumn',                         
                    ]
                ],
            ]
        );

echo $widget->run();
<?php $form = ActiveForm::end(); ?>
<?php widgets\Pjax::end() ?>
我的控制器:

 public function actionValidation()
    {
        $model = new PaperAuthor();
        $requestPost = Yii::$app->request->post();
        if (Yii::$app->request->isAjax && $model->load($requestPost)) {
            Yii::$app->response->format = 'json';
            return ActiveForm::validate($model);
        }
    }

 public function actionDelete($id)
    {
        $this->findModel($id)->delete();

        echo Json::encode([
                'success' => true,
                'messages' => [
                    Yii::t('app', 'Successfully Deleted.')
                ],
            ]);
    }
actionCreate
运行良好。但我不能删除任何从gridview记录的内容,它会抛出一个验证错误(必需的验证)

我能做什么?
提前感谢。

如果您在删除/更新操作方面遇到问题,您应该在此处发布其代码。也许您可以使用scenarios@rob006它们只是简单的删除和更新操作。嗯,对于删除操作,由于验证失败,它不会运行。然后在更新操作中,我无法保存,因为DB上有paperDOI。默认情况下,您没有任何删除操作的验证(您想验证什么?除了记录ID之外没有输入),因此您的代码中肯定有一些不寻常的地方。@rob006我编辑了我的帖子,并提供了我的表单(它是一个模式)和操作删除的更多详细信息。我认为这个问题与pjax有关。我所有的表单(textInputs和gridview)都放在pjax中。我说的对吗?
 public function actionValidation()
    {
        $model = new PaperAuthor();
        $requestPost = Yii::$app->request->post();
        if (Yii::$app->request->isAjax && $model->load($requestPost)) {
            Yii::$app->response->format = 'json';
            return ActiveForm::validate($model);
        }
    }

 public function actionDelete($id)
    {
        $this->findModel($id)->delete();

        echo Json::encode([
                'success' => true,
                'messages' => [
                    Yii::t('app', 'Successfully Deleted.')
                ],
            ]);
    }