Я устанавливаю новые правила для своей формы, и даже если поля формы не пусты, я все равно застреваю в блоке проверки валидации
функция проверки:
if (isset($_POST['action']) && $this->input->post('action') === "add_category") {
echo "<pre>";
print_r($_POST);
$this->form_validation->set_rules($this->input->post('cat_name'), 'Category Name', 'required');
if ($this->form_validation->run() === FALSE) {
echo "false";
exit;
}
else {
echo "true" ; exit;
}
}
вывод
Array
(
[action] => add_category
[cat_name_] => gbddbd
[parent_cat] => 1
[cat_status] => 1
)
false
Я создаю простые формы HTML
на мой взгляд, а не с помощью CI form helpers
2 ответа
Есть ошибка в том, как вы используете set_rules()
Правильный способ:
$this->form_validation->set_rules('cat_name','Category Name', 'required')
объяснение: первый параметр set_rules () указывает имя проверяемого поля ввода. В вашем коде вы пытаетесь присвоить значение поля ввода вместо имени
Вы устанавливаете правило для «cat_name», а поле формы - «cat_name_», поэтому оно не работает. Измените имя поля формы на "cat_name"
cat_name
, я не понял тебя
<input type="text" class="form-control " placeholder="Name" name= "cat_name " required="true" />
Похожие вопросы
Новые вопросы
php
PHP — это широко используемый язык сценариев общего назначения с открытым исходным кодом, мультипарадигмальный, динамически типизированный и интерпретируемый, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
$this->load->library('form_validation');
в начале своей функции