Документация CI3 четко гласит: «Поскольку вы еще не сказали классу проверки формы что-либо проверять, он по умолчанию возвращает FALSE (логическое ложное значение). The run()
метод возвращает TRUE, только если он успешно применил ваши правила без какого-либоиз них терпят неудачу ".
У меня есть фрагмент метода ниже.Очевидно, что при первом просмотре представление всегда будет выдавать «Предупреждение - что-то пошло не так», но без validations_errors ().Как мне исправить это?Можно ли проверить, была ли форма $ _POST?Каков наилучший способ или предложение о том, как завершить?bootstrap_alert () просто помещает сообщение об ошибке или об успешном завершении в предупреждение о загрузке.
if ($this->form_validation->run() == FALSE) {
$message = array( 'message' => 'Warning - Ooops something went wrong '.validation_errors(),
'class' => 'danger', // must be warning, danger, success or info.
);
$this->data['alert'] = bootstrap_alert($message);
$this->load->view($this->mh_template, $this->data);
} else {
$my_time_zone = $this->input->post('timezones');
$user_id = $this->ion_auth->user()->row()->id;
$setting_insert_or_update = 'user_time_zone';
$this->MH_user_settings_model->mh_insert_or_update_setting($setting_insert_or_update, $my_time_zone, $user_id);
$message = array( 'message' => 'Success - Timezone updated',
'class' => 'success', // must be warning, danger, success or info.
);
$this->data['alert'] = bootstrap_alert($message);
$this->load->view($this->mh_template, $this->data);
}
Это то, что я наконец-то закончил делать:
// установить правила формы $ this-> form_validation-> set_rules ('timezones', 'timezones', 'required');
if ($this->form_validation->run() == FALSE) {
$this->load->view($this->mh_template, $this->data);
} else {
$my_time_zone = $this->input->post('timezones');
$user_id = $this->ion_auth->user()->row()->id;
$setting_insert_or_update = 'user_time_zone';
$this->MH_user_settings_model->mh_insert_or_update_setting($setting_insert_or_update, $my_time_zone, $user_id);
$message = array( 'message' => 'Success - Timezone updated',
'class' => 'success', // must be warning, danger, success or info.
);
$this->data['alert'] = bootstrap_alert($message);
$this->session->set_flashdata('message', $this->data['alert'] );
redirect('/MH_app_private/mh_app_settings');
}