Coupons::validateForm PHP Method

validateForm() private method

private validateForm ( )
    private function validateForm()
    {
        $this->form_validation->set_rules('name', 'lang:label_name', 'xss_clean|trim|required|min_length[2]|max_length[128]');
        $this->form_validation->set_rules('code', 'lang:label_code', 'xss_clean|trim|required|min_length[2]|max_length[15]');
        $this->form_validation->set_rules('type', 'lang:label_type', 'xss_clean|trim|required|exact_length[1]');
        $this->form_validation->set_rules('discount', 'lang:label_discount', 'xss_clean|trim|required|numeric');
        if ($this->input->post('type') === 'P') {
            $this->form_validation->set_rules('discount', 'lang:label_discount', 'less_than[100]');
        }
        $this->form_validation->set_rules('min_total', 'lang:label_min_total', 'xss_clean|trim|numeric');
        $this->form_validation->set_rules('redemptions', 'lang:label_redemption', 'xss_clean|trim|integer');
        $this->form_validation->set_rules('customer_redemptions', 'lang:label_customer_redemption', 'xss_clean|trim|integer');
        $this->form_validation->set_rules('description', 'lang:label_description', 'xss_clean|trim|min_length[2]|max_length[1028]');
        $this->form_validation->set_rules('validity', 'lang:label_validity', 'xss_clean|trim|required');
        if ($this->input->post('validity') === 'fixed') {
            $this->form_validation->set_rules('validity_times[fixed_date]', 'lang:label_fixed_date', 'xss_clean|trim|required|valid_date');
            $this->form_validation->set_rules('fixed_time', 'lang:label_fixed_time', 'xss_clean|trim|required');
            if ($this->input->post('fixed_time') !== '24hours') {
                $this->form_validation->set_rules('validity_times[fixed_from_time]', 'lang:label_fixed_from_time', 'xss_clean|trim|required|valid_time');
                $this->form_validation->set_rules('validity_times[fixed_to_time]', 'lang:label_fixed_to_time', 'xss_clean|trim|required|valid_time');
            }
        } else {
            if ($this->input->post('validity') === 'period') {
                $this->form_validation->set_rules('validity_times[period_start_date]', 'lang:label_period_start_date', 'xss_clean|trim|required|valid_date');
                $this->form_validation->set_rules('validity_times[period_end_date]', 'lang:label_period_end_date', 'xss_clean|trim|required|valid_date');
            } else {
                if ($this->input->post('validity') === 'recurring') {
                    $this->form_validation->set_rules('validity_times[recurring_every]', 'lang:label_recurring_every', 'xss_clean|trim|required');
                    if (isset($_POST['validity_times']['recurring_every'])) {
                        foreach ($_POST['validity_times']['recurring_every'] as $key => $value) {
                            $this->form_validation->set_rules('validity_times[recurring_every][' . $key . ']', 'lang:label_recurring_every', 'xss_clean|required');
                        }
                    }
                    $this->form_validation->set_rules('recurring_time', 'lang:label_recurring_time', 'xss_clean|trim|required');
                    if ($this->input->post('recurring_time') !== '24hours') {
                        $this->form_validation->set_rules('validity_times[recurring_from_time]', 'lang:label_recurring_from_time', 'xss_clean|trim|required|valid_time');
                        $this->form_validation->set_rules('validity_times[recurring_to_time]', 'lang:label_recurring_to_time', 'xss_clean|trim|required|valid_time');
                    }
                }
            }
        }
        $this->form_validation->set_rules('order_restriction', 'lang:label_order_restriction', 'xss_clean|trim|integer');
        $this->form_validation->set_rules('status', 'lang:label_status', 'xss_clean|trim|required|integer');
        if ($this->form_validation->run() === TRUE) {
            return TRUE;
        } else {
            return FALSE;
        }
    }