Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Валидация ORM
http://forum.kohanaframework.su/viewtopic.php?f=33&t=638
Страница 1 из 1

Автор:  Радик [ 15 май 2013, 09:56 ]
Заголовок сообщения:  Валидация ORM

Доброго времени
Ребят, помогите с валидацией в ORM, документацию уже 2 часа курю, ну не понятно(
в простой валидации метод выглядел бы так:
Код:
<?public function action_check()
    {
        $validation = Validation::factory($_REQUEST);
            $validation ->rule('fio', 'not_empty')
                        ->rule('fio', 'min_length', array(':value', 4))
                        ->rule('iin', 'numeric')
                        ->rule('iin', 'min_length', array(':value', 12))
                        ->rule('email', 'email')
                        ->rule('phone', 'numeric')
                        ->rule('phone', 'not_empty')
                        ->rule('phone', 'min_length', array(':value', 5))  */                     
                        ->labels(array(
                                'fio' => 'ФИО',
                                'email' => 'E-Mail',
                                'phone' => 'телефон',
                                'iin' => 'ИИН',
                                ));
         
            if($validation->check())
            {
                $order_id = @$_REQUEST['order_id'];
                $status_pay = 1;
                $sql = "UPDATE hay_orders SET status_pay = :status_pay WHERE id = :order_id";
                    DB::query(Database::UPDATE, $sql)
                        ->param(":status_pay", $status_pay)
                        ->param(":order_id", $order_id)
                        ->execute();
               
                $summa = @$_REQUEST['summa'];
                $content = View::factory('index/payment/v_payment_check', array(
                        'order_id' =>$order_id,
                        'summa' => $summa ));
                       
                $this->template->title = 'Сохраните чек';
                $this->template->page_title = 'Сохраните чек';
                $this->template->block_center = array($content);
                                               
                return;
            }
         $errors = $validation->errors('messages/validation');

    }?>

а тут ORM(, вообщем мне в ниже приведенном коде нужно проверить POST данные
Код:
<?    public function action_check()
    {
        $order_id = @$_REQUEST['order_id'];
        $status_pay = 1;
        $sql = "UPDATE hay_orders SET status_pay = :status_pay WHERE id = :order_id";
            DB::query(Database::UPDATE, $sql)
                ->param(":status_pay", $status_pay)
                ->param(":order_id", $order_id)
                ->execute();
 
        $summa = @$_REQUEST['summa'];
        $content = View::factory('index/payment/v_payment_check', array(
                'order_id' =>$order_id,
                'summa' => $summa ));
            
        $this->template->title = 'Сохраните чек';
        $this->template->page_title = 'Сохраните чек';
        $this->template->block_center = array($content);
    }

Автор:  nkl [ 16 май 2013, 08:55 ]
Заголовок сообщения:  Re: Валидация ORM

Рекомендую 11 урок Андрея Морковина, там как раз очень подробно, я бы даже сказал разжевана и в ротик положена эта методика валидации. Очень подробно описаны т.н. Call Back'и и вообще принцип валидации средствами ORM, а так же методика вызова исключений, т.н. Exception'ов.

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/