【问题标题】:Codeigniter room booking form validationCodeigniter 房间预订表格验证
【发布时间】:2016-03-31 02:43:35
【问题描述】:

我正在尝试使用form_validation 制作用于预订房间的表单,以在用户将数据输入表单时验证房间是否已被预订。我将输出显示到表格中。这是我的验证:

function add_room()
{
    $this->form_validation->set_rules('start', 'Start Date', 'required|is_unique[calendar.start]');
    $this->form_validation->set_rules('start_t', 'Start Time', 'required|is_unique[calendar.start_t]');
    $this->form_validation->set_rules('end_t', 'End Time', 'required|is_unique[calendar.end_t]');
    $this->form_validation->set_rules('room', 'Room', 'required|is_unique[calendar.room]');
    $this->form_validation->set_rules('title', 'Title', 'required|trim|xss_clean');
    $this->form_validation->set_rules('user', 'NRP', 'required|trim|xss_clean');
    $this->form_validation->set_rules('nama', 'Name', 'required|trim|xss_clean');
    $this->form_validation->set_rules('ext', 'EXT', 'required|trim|xss_clean');
    $this->form_validation->set_rules('topic', 'Topic', 'required|trim|xss_clean');
    $this->form_validation->set_rules('attend', 'Attendees', 'required|trim|xss_clean');

    if ($this->form_validation->run() == FALSE) {
        $this->form_validation->run('start_t');
    }
    elseif ($this->form_validation->run('start_t') == TRUE) {
        $this->form_validation->run('end_t');
    }
    elseif ($this->form_validation->run('end_t') == TRUE) {
        $this->form_validation->run('start');
    }
    elseif ($this->form_validation->run('start') == TRUE) {
        $this->form_validation->run('room');
    }
    elseif ($this->form_validation->run('room') == TRUE) {
        $this->form_validation->run();
    }
    elseif ($this->form_validation->run() == TRUE) {
        $this->calendar->add_room();
    } else {
        validation_errors();
        $this->conf->msg('danger');
    }
    redirect('calendar/meeting');


}

我知道我的代码很糟糕,但我仍然不确定如何制作 if 结构。我想要验证检查Start TimeEnd TimeStart Date 处的Room 是否已被预订。如果它已被预订,则验证将是错误的并显示error message。我不太擅长CI。事实上,我是这个编程方面的新手。那么,我怎样才能在CI 预订合适的房间呢?感谢您的帮助。

【问题讨论】:

    标签: php mysql codeigniter validation


    【解决方案1】:

    将要验证的错误放入数组中

    $config = 数组( array('field' => 'bk_r_type_id', 'label' => 'bk_r_type_id Name', 'rules' => 'trim|required|max_length[100]') );

        $this->form_validation->set_rules($config);
    

    【讨论】:

    • Kay:我可以在一个“规则”中制定几个is_unique。看来我的领域(room,start,start_t,end_t)必须与其他领域相关。
    • 是的。你可以 。尝试两种类型的验证使您的代码更安全。第一个是尝试表单验证。第二个是在插入数据库之前验证数据
    • 不,我的意思是制作多个is_unique,例如:'rules' => 'required|is_unique[calendar.room]|is_unique[calendar.start]|is_unique[calendar.start_t]| is_unique[calendar.end_t]'。所以验证检查每个字段,它是一个预订系统。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    相关资源
    最近更新 更多