无法在codeigniter中加载验证配置文件?

时间:2017-06-28 11:54:02

标签: codeigniter validation

我在CodeIgniter中创建了一个应用程序。我试图在表单中插入验证。因为我的应用程序中有很多表单,所以我尝试使用验证配置文件。

我在 application / config / form_validation.php 中创建了配置文件。我还通过添加 $ autoload [' config'] =数组(' form_validation');

自动编辑配置文件

仍然,我的验证工作不正常,总是返回布尔值假

以下代码

form_validation.php 文件

<?php
$config= array(

    'Reservation' => array(
        array(
        'field' => 'name',
        'label' => 'Name',
        'rules' => 'required|max_length[50]|min_length[4]|trim|htmlspecialchars|alpha'
        ),
        array(
        'field' => 'date',
        'label' => 'Date',
        'rules' => 'required|trim|htmlspecialchars',
        'errors'=> ['required'=>'You must provide a %s for the reservation.']
        ),
        array(
        'field' => 'no_people',
        'label' => 'No of People',
        'rules' => 'required|trim|htmlspecialchars'
        )
    )

);
?>

index.php - 查看

<div class="book-reservation wow slideInUp" data-wow-duration="1s" data-wow-delay=".5s">
                    <?php echo "<script>alert('".validation_errors()."')</script>"; ?>
                    <?php echo form_open('Entry/Reservation'); ?>
                    <div class="col-md-12 form-left">
                        <label><i class="glyphicon glyphicon-calendar"></i>Enter Name:</label>
                        <input type="text" name='name' value="<?php echo set_value('name'); ?>">
                        </div>
                     <div class="col-md-3 form-left">
                        <label><i class="glyphicon glyphicon-calendar"></i> Date :</label>
                        <input type="date" name='date' value="<?php echo set_value('date'); ?>">
                        </div>
                        <div class="col-md-3 form-left">
                            <label><i class="glyphicon glyphicon-user"></i> No.of People :</label>
                            <select class="form-control" name='no_people' value="<?php echo set_value('no_people'); ?>">
                                <option>1 Person</option>
                                <option>2 People</option>
                                <option>3 People</option>
                                <option>4 People</option>
                                <option>5 People</option>
                                <option>More</option>
                            </select>
                        </div>
</div>

Entry.php - 控制器

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Entry extends CI_Controller {
public function __construct()
{
    Parent::__construct();
    $this->load->model('Restaurant');
}
    public function index()
    {
        $this->load->view('index');
    }
    public function Reservation()
    {

        var_dump($this->form_validation->run('Reservation'));
        die;

        if($this->form_validation->run() == FALSE)
        {
            redirect();
        }
        else
        {
            #getting values of form
            $data['a'] = array(
            'Person_Name' => $this->input->post('name'),
            'Phone_Number' => $this->input->post('phone'),
            'Reservation_Date' => $this->input->post('date'),
            'No_People' => $this->input->post('no_people'),
            'Reservation_Time' => $this->input->post('time')
            );
            $data['a'] = $this->security->xss_clean($data['a']); #cleaning data
            #calling model
            //echo"<pre>";print_r($data['a']);
            //die;
            if($this->Restaurant->insert_entries($data['a']))
            {
            $this->session->set_flashdata('message','Your Reservation has accepted, We will call you back shortly.');
            redirect();
            }

            else
            {
            $this->session->set_flashdata('message','Some techincal issue occured, your reservation did not complete.');

            }
        }



    }
}

1 个答案:

答案 0 :(得分:0)

以下代码出错,因为它没有重定向到任何地方

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

正确答案:

if($this->form_validation->run() == FALSE)
        {
            $this->load->view('index');
        }
相关问题