2013-12-10 72 views
0

我正在使用kohana 3.3和kostache。請幫我解決這個問題。你如何將錯誤傳遞給視圖。傳遞錯誤以查看

控制器

public function action_add() 
    { 

     $renderer = Kostache_Layout::factory(); 
     $view = new View_Pages_Album_List();  
     try 
     { 

     $album = ORM::factory('Album_Information'); 

     $album_name = $this->request->post('inputAlbum'); 

     $artist = $this->request->post('inputArtist'); 

     $album->Album_Name = $album_name; 

     $album->Artist = $artist; 

     $album->save(); 

     } 
     catch (ORM_Validation_Exception $e) 
     { 
      $errors = $e->errors('models'); 
      $view->errors = $errors; 
     } 

     $this->response->body($renderer->render($view)); 

    } 

模板文件

<h3>Add A New Album</h3> 
<form method="POST" action="album/add"> 

<label>Album Name:</label> 
<input type="text" name="inputAlbum" /><br /> 

<label>Artist:</label> 
<input type="text" name="inputArtist" /><br /> 

<input type="submit" name="submit" value="Add" /> 
</form> 

{{errors}} 

規則..

public function rules() 
    { 
     return array(
       'inputAlbum' => array(
        array('not_empty'), 
        ), 
       'inputArtist' => array(
        array('not_empty'), 
        ), 
     ); 
    } 

個消息..

<?php defined('SYSPATH') or die('No Direct Script Access'); 

return array(
      'not_empty' => ':field must not be empty', 
    ); 

每次我點擊提交按鈕,我沒有得到任何錯誤。我得到的是數組字符串轉換問題。

回答

0

愚蠢的我大聲笑。得到它的工作。

<h3>Add A New Album</h3> 
<form method="POST" action="album/add"> 

<label>Album Name:</label> 
<input type="text" name="inputAlbum" /><br /> 

<label>Artist:</label> 
<input type="text" name="inputArtist" /><br /> 

<input type="submit" name="submit" value="Add" /> 
</form> 

{{#errors}}{{inputAlbum}}{{/errors}} 
{{#errors}}{{inputArtist}}{{/errors}} 

我忘了需要一個密鑰才能使其工作。這樣可以解決問題。

+0

這個工程,但現在每次我點擊提交按鈕與輸入我無法在數據庫上創建任何項目。 – Defyleiti