2012-02-01 54 views
0

在try catch塊內的我的Model_Auth_User上調用update_user(),但在$ e-> errors('validation')調用中得到一個具有以下結構的多維數組:Handle用戶更新Kohana中的驗證

Array 
(
    [_external] => Array 
     (
      [password] => Array 
       (
        [0] => min_length 
        [1] => Array 
         (
          [0] => asdf 
          [1] => 8 
         ) 

       ) 

     ) 

) 

在那裏我通常得到一個數組開始沒有_external包裝。任何人都知道發生了什麼事?

回答

0

我認爲Kohana無法在您指定的'驗證'文件中找到消息,因此它將消息作爲「文件/字段/規則」返回。

看一看這裏: http://kohanaframework.org/3.2/guide/api/Validation#errors

特別是,這些條件句:

if ($message = Kohana::message($file, "{$field}.{$error}")) 
{ 
    // Found a message for this field and error 
} 
elseif ($message = Kohana::message($file, "{$field}.default")) 
{ 
    // Found a default message for this field 
} 
elseif ($message = Kohana::message($file, $error)) 
{ 
    // Found a default message for this error 
} 
elseif ($message = Kohana::message('validation', $error)) 
{ 
    // Found a default message for this error 
} 
else 
{ 
    // No message exists, display the path expected 
    $message = "{$file}.{$field}.{$error}"; 
} 

另外,我覺得你需要存儲的信息在以下文件位置:./application/messages/驗證/ _external.php

+0

不是我正在尋找,但這有助於。我只是認爲這是某種接收_external數組的錯誤。 – 2012-02-02 16:59:02