如何在Yi2中的删除操作中忽略ajaxValidation?
我有一张像follow这样的表格如何在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
<?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.')
],
]);
}