Проверка формы Codeigniter (проверка MySQL) - PullRequest
0 голосов
/ 31 мая 2011

Я изучаю КИ, как мы говорим, и у меня есть быстрый вопрос к вам, ребята. В настоящее время я использую функцию form_validation, чтобы помочь мне с быстрой проверкой. Это отлично работает, но! Если я хочу подтвердить имя пользователя или адрес электронной почты, который уже используется, как я могу это сделать?

Я предполагаю, что мне нужна модель и метод, который проверяет, используется ли уже имя пользователя или адрес электронной почты. Но как я могу объединить ложный / истинный результат, полученный с сообщениями об ошибках form_validation?

Ответы [ 2 ]

4 голосов
/ 31 мая 2011

В codeigniter система проверки поддерживает обратные вызовы, это позволяет вам расширять класс проверки, чтобы удовлетворить то, что вам нужно, например:

В вашем контроллере измените правило "username" на следующее:

$this->form_validation->set_rules('username', 'Username', 'callback_username_check');

Затем в вашем контроллере вы можете добавить функцию с именем "username_check":

function username_check($str)
{
    $this->load->model('your_model');

    if ($this->your_model->checkUsername($str))
    {
        return true;
    }
    else
    {
        $this->form_validation->set_message('username_check', 'The username %s already exist');            
        return false;
    }

А в вашей модели:

function checkUsername($username)
{
    $this->db->where('username', $username);
    $query = $this->db->get('users');
    if ($query->num_rows() > 0){
        return true;
    }
    else{
        return false;
    }
}

Пока !!

0 голосов
/ 31 мая 2011

, чем вам нужно использовать пользовательские обратные вызовы, это функции проверки, которые вы пишете сами. Вы можете узнать больше об этом в документации codeigniter

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