在try catch块内的Model_Auth_User上调用update_user()时,我在$ e-> errors('validation')调用上得到一个多维数组,其结构如下:
Array
(
[_external] => Array
(
[password] => Array
(
[0] => min_length
[1] => Array
(
[0] => asdf
[1] => 8
)
)
)
)
我通常在没有_external
包装器的情况下启动数组。谁知道发生了什么事?
答案 0 :(得分: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 / invalidation / _external.php