我有一个自定义的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通过翻译运行消息,我将再次翻译已翻译的文本。我希望避免这种情况。所以我的问题是:
如何禁用验证消息的翻译?
答案 0 :(得分:0)
找到答案。在将消息设置为预翻译消息时,通过在验证器内添加以下代码,可以简单地停用验证器转换:
$this->setDisableTranslator(true);
愚蠢的我错过了那个。