我有3个模型使用验证消息。其中的2个可以完美地处理所有消息,包括_external消息。第三个从不返回自定义_external消息。每个模型的文件夹结构和获取错误的方式都是相同的。
文件夹结构
messages\models\verify
捕获错误
catch (ORM_Validation_Exception $e)
{
return $e->errors('models/verify');
} 传递给视图的错误
array(1) { ["_external"]=> array(1) { ["activation_hash"]=> string(33) "activation hash must not be empty" } }
输出外部错误
<?= Arr::path($errors, '_external.activation_hash'); ?>
messages\models\verify_external.php
return array(
'activation_hash' => array(
'not_empty' => 'The email fields did not match'
),
);验证
$extra_rules = Validation::factory($values)
->rule('activation_hash', 'not_empty');
$email->check($extra_rules);这应该是所有的东西。再一次,一切都是完全相同的3个模型,所以我认为这是一个打字错误或错误。不管怎样,我在这里粘贴了代码中的所有内容,您是否看到我遗漏了什么?在一次调试尝试中,我将_external.php文件放到了verify文件夹的路径下的每个目录中,但没有找到,所以我认为这不是我的文件夹结构。
发布于 2013-02-20 09:52:02
我的解决方案是将验证消息包含在现有的消息文件中。上面示例中的验证操作的目的是验证用户的电子邮件地址。我将外部验证消息添加到外部电子邮件数组中,它按预期工作。
https://stackoverflow.com/questions/14595804
复制相似问题