处理Kohana中的用户更新验证

时间:2012-02-01 02:47:24

标签: php kohana

在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包装器的情况下启动数组。谁知道发生了什么事?

1 个答案:

答案 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