Проверка пользовательской формы Codeigniter - PullRequest
2 голосов
/ 05 ноября 2010

это мой метод регистрации на контроллере для регистрации нового пользователя.

function register() {

    $config_rules = array(
            array(
                'field' => 'txtEmail',
                'label' => 'Email',
                'rules' => 'required|valid_email'
            ),
            array(
                'field' => 'txtPassword',
                'label' => 'Password',
                'rules' => 'required|min_length[6]'
            ),
            array(
                'field' => 'txtRePassword',
                'label' => 'Re-type Password',
                'rules' => 'required|min_length[6]'
            )
        );
    $this->form_validation->set_rules($config_rules);

    if(isset($_POST['btnSubmit']) && $this->form_validation->run() == TRUE)
    {
        // insert query and redirect to registration success page
    }

    $this->load->view('users/register_form');
}

Все правила проверки формы работают нормально. Но проблема в том, что я не могу сделать, это подтвердить пароль и заново ввести пароль.

Как сделать проверку пользовательской формы, например, чтобы проверить пароль и пароль для повторного ввода одинаковы или нет. Затем верните false для проверки и выдайте сообщение об ошибке, сообщающее, что пароль и пароль повторного ввода не совпадают через validation_errors ().

Ответы [ 2 ]

4 голосов
/ 05 ноября 2010

Вы можете указать правило примерно так:

$rules['password'] = "required|matches[passconf]";

В приведенном выше примере поле password будет соответствовать полю подтверждения пароля passconf.

См. Документацию для получения дополнительной информации.

2 голосов
/ 05 ноября 2010

добавьте:

matches[txtRePassword]

к правилам пароля, затем вы можете использовать:

$this->validation->set_message('matches', 'New Passwords don\'t match');

, чтобы сделать сообщение об ошибке клиента

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