【发布时间】:2023-01-22 12:24:43
【问题描述】:
我正在尝试使用重定向将我的验证错误发送到另一种方法
public function save()
{
//validasi input
if (!$this->validate([
'judul' => 'required|is_unique[komik.judul]'
])) {
return redirect()->to('/komik/create')->withInput();
}
这是 create() 方法
public function create()
{
session();
$data = [
'title' => 'Form Tambah Data Komik',
'validation' => \Config\Services::validation()
];
return view('komik/create', $data);
}
这是我正在尝试验证的create.php 视图表单的 sn-p
<form action="/komik/save" method="post" enctype="multipart/form-data">
<?php d($validation) ?>
<?= $validation->listErrors();; ?>
问题是save() 中的验证错误没有发送到create() 方法。但是 save() 方法中存在验证错误,我可以通过添加来证明
$validation = \Config\Services::validation(); dd($validation);
在save()。这是我添加代码后单击“Tambah Data”按钮时发生的情况
如您所见,存在验证错误,只是没有发送到 create() 方法
我尝试使用return view(),这有效,但它产生了另一个问题。我想改用return redirect()。
这是我的路线
$routes->get('/', 'Pages::index');
$routes->get('/komik/create', 'Komik::create');
$routes->get('/komik/edit/(:segment)', 'Komik::edit/$1');
$routes->post('/komik/save', 'Komik::save');
$routes->delete('/komik/(:num)', 'Komik::delete/$1');
$routes->get('/komik/(:any)', 'Komik::detail/$1');
我该怎么做才能解决这个问题?谢谢
【问题讨论】:
标签: php codeigniter validation codeigniter-4