在Kohana 3.2中,保存后在Model_User
上传递外部验证,为什么不显示正确的消息?
我在user.php
中application/messages/models
可以读取和翻译“内部”数据,而_external.php
位于application/messages/models/user
。
当_external数据无效时,会显示Kohana的默认错误消息,因此无法正确翻译或从Model_User
获得正确的标签。
编辑,代码为:
// We have $_POST, register a new user
$user = ORM::factory('user');
/*
* Here a bunch of variables are set
*/
$extra = Validation::factory($_POST)->
rule('email', 'email')-> // I run this check, because in my Model_User, email is filtered through Encrypt
rule('name', 'not_empty'); // Same goes for name
try {
$user->save($extra);
} catch (ORM_Validation_Exception $e) {
$this->template->errors = $e->errors('models', true);
}
因此,当$extra
变量与规则不匹配时,我希望从application/messages/models/user/_external.php
获得很好的错误消息,如下所示:
return array(
'email' => array(
'email' => ':field must be a valid email address',
),
'name' => array(
'not_empty' => ':field must not be empty',
),
);
此外,如果:从Model_User“标签”获取字段会很好。
答案 0 :(得分:2)
您需要将_external.php
放在user.php
目录旁边的messages/models
旁边,而不是messages/models/user
目录中。我有同样的问题,它对我有用。