Php 由于重定向,未显示CodeIgniter表单验证
我有一个编辑页面,它从uri段获取id和状态。问题是,如果用户没有选择图像或完成表单的一部分,页面应该重新加载并显示表单的验证错误。但是,页面重新加载会导致表单中的数据丢失。有没有办法解决这个问题?任何帮助都将不胜感激。我附加了我的视图和控制器Php 由于重定向,未显示CodeIgniter表单验证,php,codeigniter,Php,Codeigniter,我有一个编辑页面,它从uri段获取id和状态。问题是,如果用户没有选择图像或完成表单的一部分,页面应该重新加载并显示表单的验证错误。但是,页面重新加载会导致表单中的数据丢失。有没有办法解决这个问题?任何帮助都将不胜感激。我附加了我的视图和控制器 if ($this->form_validation->run() == FALSE) { $this->session->set_flashdata('field', form_error('field', '
if ($this->form_validation->run() == FALSE) {
$this->session->set_flashdata('field', form_error('field', '<span class="text-danger pl-3">', '</span>'));
redirect("url");
} else {
# code...
}
看法
如果($this->form\u validation->run()==false){
重定向('/Control/Products/ProductDetail/index/'.$inputcurrentid./'.$inputcurrentstatus);
我认为这个重定向STM的问题不是使用它,而是需要使用load view,这样它将保留错误数组。只需在控制器中执行此操作即可
if ($this->form_validation->run() == FALSE) {
$this->session->set_flashdata('field', form_error('field', '<span class="text-danger pl-3">', '</span>'));
redirect("url");
} else {
# code...
}
if($this->form\u validation->run()==FALSE){
$this->session->set_flashdata('field',form_error('field','');
重定向(“url”);
}否则{
#代码。。。
}
在重定向页面中使用
<?= $this->session->flashdata('field'); ?>
是的,我知道。但是如果我使用$this->index(),我的预填充表单数据将丢失没有,您需要在视图中使用设置值('inputproductname','value if any'))
来重置输入值。我最后使用会话存储变量,并在更新完成时取消设置它们。谢谢!
<?= $this->session->flashdata('field'); ?>