在将代码提交到Codeigniter中的不同路线时,如何保持验证错误完整?

时间:2018-09-08 11:47:52

标签: php codeigniter-3

我想提交表格以将form/submit的路线从我的contact路线选择。我需要的是在当前路线上显示的验证错误,即contact而不是form/submit

========= contact view =========
<?php echo validation_errors(); ?>
<?php echo form_open_multipart('form/submit'); ?>
<?php echo form_input(array(
      'type'          => 'email',
      'name'          => 'yourEmail',
      'required'      => 'true'
)); ?>
<input type="submit">


====== 'routes' =======
$route['form/submit']['POST'] = 'form/submit';

这是一个问题,如果出现错误,我希望保持url不变,如果我重定向而不是加载视图,我丢失了错误消息,我试图不使用会话来存储错误消息。


======= 'controllers' =======

public function submit()
    {
      $this->load->helper('form');
      $this->load->library('form_validation');


      $this->form_validation->set_rules('email', 'Email', 'required|email');

      if ($this->form_validation->run() === FALSE)
      {

      $this->load->view('contact');
      }
      else
      {
          $this->prison_model->set_prison();
          $this->load->view('success');
      }

1 个答案:

答案 0 :(得分:0)

为什么不使用ajax提交表单。

如果您不想使用ajax,则在不继承codeignitor类的情况下创建 Prison 的库类。

将首页网址传递给open_multipart()。 这样,所有的表单提交信息都将传递到主控制器,在Prison的create对象中并调用create()。 之后,将任何视图加载到家庭控制器中。

您应仅将监狱类用于处理。