codeigniter form_validation_run () не возвращает false, хотя это должно - PullRequest
0 голосов
/ 21 июня 2011

У меня есть часть проверки формы в контроллере, называемая post; php, где проверка формы должна возвращать false, но это не так.Вероятно, это просто опечатка, но, глядя на нее часами, я действительно не могу ее найти.Я надеюсь, что вы можете.

Первая часть функции моего контроллера, называемая change_password, выглядит следующим образом:

      $this->form_validation->set_rules('new','required|matches[confirm]|min_length[8]|max_length[16]');
        if($this->form_validation->run()==FALSE){
            $this->session->set_flashdata('msg_type','error');
            $this->session->set_flashdata('msg',validation_errors('<p>','</p>'));
            redirect('members#pass');
            return;
        }

представление, которое отправляет сообщения на вышеуказанный контроллер, выглядит следующим образом.выглядит так:

<h3>Update your password</h3>
<?php
echo img('update_pass.png',array("class" => "fr"));
echo form_open('post/update_pass'); ?>
<table>
    <tr>
        <td><?php echo form_label('Current password:','current'); ?></td>
        <td><?php echo form_password('current'); ?></td>
    </tr>
    <tr>
        <td><?php echo form_label('New password:','new')?></td>
        <td><?php echo form_password('new'); ?></td>
    </tr>
    <tr>
        <td><?php echo form_label('Retype new password:','confirm'); ?></td>
        <td><?php echo form_password('confirm'); ?></td>
    </tr>
    <tr>
        <td></td>
        <td><input type='submit' value='update'></td>
    </tr>
</table>
</form>

Остальная часть кода работает отлично.но, например, когда я ввожу следующие данные

current  |  'mycurrentpass'
new      |  jimm
confirm  |  rollercoaster

, где оба поля не совпадают, а длина слишком мала, все равно form_validation_run возвращает true.

1 Ответ

3 голосов
/ 21 июня 2011

Подпись set_rules является set_rules($field, $label = '', $rules = '').Я думаю, что вам не хватает параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...