0

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

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

const MSG_IMPORTER_ERROR = 'importerError';

在我isValid的自定义验证器的 -function 中,我执行以下操作:

// $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 通过翻译运行消息,我将再次翻译已经翻译的文本。我希望避免这种情况。所以我的问题是:

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

4

1 回答 1

0

找到了答案。在将消息设置为预翻译消息时,只需在验证器中添加以下代码即可停用验证器翻译:

$this->setDisableTranslator(true);

愚蠢的是我错过了那个。

于 2012-09-14T11:06:58.877 回答