Проблема проверки формы с CodeIgniter - PullRequest
1 голос
/ 08 июня 2011

У меня есть это представление:

   <?php echo form_open(); ?>

<?php echo form_input('username', '', ''); ?>

<?php echo form_submit('submit', 'Submit'); ?>

<?php echo form_close(); ?>

<?php echo validation_errors(); ?>

и этот метод контроллера:

function test() {


        $username = $this->input->post('username');

        $this->form_validation->set_rules($username, 'Username', 'required|min_length[4]');

        if ($this->form_validation->run() !== FALSE) {

            echo 'Tada!';

        }

        $this->load->view('test');        

    }

, но когда я оставляю поле имени пользователя пустым, ничего не происходит.Тем не менее, если я наберу что-то в нем, он скажет мне, что поле является обязательным.Я скачал и дал CI новую установку почти десять раз, пытаясь загрузить с разными помощниками и без них и т. Д. Это очень расстраивает, пожалуйста, помогите.

Ответы [ 3 ]

1 голос
/ 09 июня 2011

Проблема заключается в первом параметре set_rules, который является именем поля.

Передаваемое вами $ username в основном устанавливает имя поля для проверки как того, что пользователь вводит в поле ввода. Если бы вы ввели «username» в поле ввода, вы бы увидели, что ваша форма проверена.

Изменить строку

$this->form_validation->set_rules($username, 'Username', 'required|min_length[4]');

до

$this->form_validation->set_rules('username', 'Username', 'required|min_length[4]');
1 голос
/ 09 июня 2011

Может быть, проблема этой линии

<?php echo form_open(); ?>

Если вы оставите это поле пустым, оно будет отправлено обратно самому контроллеру и вызовет только функцию конструкции и индекса. В этом случае ваша функция, связанная с обработкой формы, называется «test ()»

попробуйте это

<?php echo form_open('yourControllerName/test'); ?> //test is the function dealing with

если он не работает, попробуйте на этом

<?php echo form_open('test'); ?>
1 голос
/ 09 июня 2011

Попробуйте использовать это:

$this->form_validation->set_rules('username', 'Username', 'required|min_length[4]');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...