@likeapimp
web dev, web design

Как вывести сообщение о ошибке если поле не заполнено в Kohana?

Вот код контроллера:
public function action_product() {	
	
		$id = (int) Request::initial()->param('id');
		
		$product = ORM::factory('product', $id);
 
        $content = View::factory('prodView')
                        ->bind('product', $product);
		
		$this->template->title = $product->title;
		
        $this->template->content = $content;
		
		if(isset($_POST['Submit'])) {
			$clientName    = Arr::get($_POST, 'Name', '');
			$clientPhone = Arr::get($_POST, 'Phone', '');
			$clientAdress = Arr::get($_POST, 'Adress', '');
			$orderNumber = Arr::get($_POST, 'Number', '');
			
			$_POST = array(
				'name' => $product->name, 
				'number' => $orderNumber, 
				'url' => $product->url, 
				'client_name' => $clientName, 
				'client_phone' => $clientPhone,
				'client_adress' => $clientAdress
			);
				
				ORM::factory('order')
				   ->values($_POST)
				   ->save();
				   
			Controller::redirect('main/ordered');
		}


Пробовал так:
if(isset($clientName)) {
     ORM::factory('order')
				   ->values($_POST)
			   ->save();
} 
else {
 
 $error = TRUE;	
}


И в вид вставлял:
<?php if(isset($error)) { ?>
<?php echo 'error'; ?>
<?php } ?>


Так не работает..
  • Вопрос задан
  • 2420 просмотров
Пригласить эксперта
Ответы на вопрос 2
rdifb0
@rdifb0
Программист, реалист
Гайд вам в помощь kohanaframework.org/3.1/guide/orm/validation
Ответ написан
Комментировать
1. У вас сначала идет обращение к ключам с заглавной буквой, а затем переопределение этих же ключей, но в нижнем регистре. Это специально сделано или случайно? (ключи регистрозависимые)
2. Зачем нужно переопределять массив $_POST, лучше считать что он readonly.
3. В представлении вы обращаетесь к переменной просто как к глобальной, разве не должно идти обращение к ней как к части текущего объекта ($this->VAR_NAME)?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы