防止Zend翻译验证消息

时间:2012-09-14 09:58:57

标签: php zend-framework zend-validate zend-translate

我有一个自定义的Zend验证器。此验证器将运行一个外部程序,该程序以printf格式返回错误消息以及arguments-array。

我有一个来自此外部程序的消息的消息模板:

const MSG_IMPORTER_ERROR = 'importerError';

在我的自定义验证程序中的isValid - 函数中,我执行以下操作:

// $err contains the error from the external program
$this->setMessage(
    vsprintf($v->translate($err['template']), $err['args']),
    self::MSG_IMPORTER_ERROR
);
$this->_error(self::MSG_IMPORTER_ERROR);
return false;

由于Zend通过翻译运行消息,我将再次翻译已翻译的文本。我希望避免这种情况。所以我的问题是:

如何禁用验证消息的翻译?

1 个答案:

答案 0 :(得分:0)

找到答案。在将消息设置为预翻译消息时,通过在验证器内添加以下代码,可以简单地停用验证器转换:

$this->setDisableTranslator(true);

愚蠢的我错过了那个。