Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 27 апр 2024, 19:46

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Проверка пароля
СообщениеДобавлено: 11 май 2013, 17:32 
Не в сети
Новичок

Зарегистрирован: 07 май 2013, 21:14
Сообщения: 16
Помогите добавить валидацию на проверку пароля. поле повторного ввода в самой форме регистрации(виде) - "password_confirm" .
Я пытался сделать это многими методами, перерыл инет, ничего не срабатывает. Написанный rules работает, а вот добавить проверку пароля не получается. Спасибо!

Код:
public function rules()
    {
        return array(
            
'username' => array(
                array(
'not_empty'),
                array(
'min_length', array(':value'4)),
                array(
'max_length', array(':value'10)),
                array(array(
$this'unique'), array('username'':value')),
            ),
            
'password' => array(
                array(
'not_empty'),
                array(
'min_length', array(':value'4)),
                array(
'max_length', array(':value'100)),
                       ),
      ); 


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка пароля
СообщениеДобавлено: 11 май 2013, 18:04 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
$validation = Validation::factory(Request::$current->post())
->rule('password', 'not_empty')
->rule('password_confirm', 'matches', array(':validation', ':field', 'password')

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка пароля
СообщениеДобавлено: 11 май 2013, 18:27 
Не в сети
Новичок

Зарегистрирован: 07 май 2013, 21:14
Сообщения: 16
WinterSilence писал(а):
$validation = Validation::factory(Request::$current->post())
->rule('password', 'not_empty')
->rule('password_confirm', 'matches', array(':validation', ':field', 'password')




Так пробовал, не работает.... не могу понять в чем причина,


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка пароля
СообщениеДобавлено: 11 май 2013, 18:42 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
Странно, вроде все верно:

http://forum.kohanaframework.org/discus ... ment_54529
Код:
public function register(array & $data)
{
    try {
        $extra_rules = Validation::factory($data)
            ->rule('password_confirm', 'matches', array(':validation', ':field', 'password'));
        // ...
        $this->save($extra_rules);
        return TRUE;
    } catch (ORM_Validation_Exception $e) {
        return $e->errors('some_file_name');
    }
}


ну да, и в мануале также http://kohanaframework.org/3.3/guide/or ... controller

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка пароля
СообщениеДобавлено: 11 май 2013, 21:57 
Не в сети
Новичок

Зарегистрирован: 07 май 2013, 21:14
Сообщения: 16
Начал тестировать, оказывается валидация указанная в rules() не работает. Пароль можно вводить любой и все равно регает, самое смешное, что логин работает по рулесам а пароль нет, бред какой-то......


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка пароля
СообщениеДобавлено: 12 май 2013, 05:04 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Код:
    /**
     * Password validation for plain passwords.
     *
     * @param   array  $values
     * @return  Validation
     */
    public static function get_password_validation($values)
    {
        return Validation::factory($values)
                    ->rule('pass', 'min_length', array(':value', 4))
                    ->rule('pass_confirm', 'matches', array(':validation', ':field', 'pass')); // matches - использовать ДО hash
    } 


http://kohanaframework.org/3.2/guide/ap ... validation

Не?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка пароля
СообщениеДобавлено: 12 май 2013, 19:30 
Не в сети
Новичок

Зарегистрирован: 07 май 2013, 21:14
Сообщения: 16
Не знал что эту функцию нужно наследовать от user. Просто писал в тексте контроллера но ничего не получалось(как вверху в первоначальном примере). Сейчас использую готовый create_user(), т.к. до конца не разобрался с произвольной валидацией. Вопрос такого плана, после регистрации пользователя у меня стоит редирект на страницу авторизации, т.е. пользователь надпись "Вы успешно зарегистрированы не видит" сразу получается редирект. Делать это if(регистрация тру) Request::initial()->redirect('auth'); Или есть уже готовые методы для этого? И еще вопрос - как вывести ошибку такой страницы не существует если пользователь вводит несуществующую страницу? Щас кохана выдает - HTTP_Exception_404 [ 404 ]: The requested URL mam was not found on this server. Не красиво как-то) Спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка пароля
СообщениеДобавлено: 13 май 2013, 02:27 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Оформите ваш ответ/вопрос по человечески


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group