ZF2 v2.2.5。标准验证消息

时间:2013-11-23 17:39:29

标签: php zend-framework2

根据Zend Framework 2手册,您必须使用以下代码:

// Module.php

public function onBootstrap(MvcEvent $e)
{
    $eventManager = $e->getApplication()->getEventManager();
    $moduleRouteListener = new ModuleRouteListener();
    $moduleRouteListener->attach($eventManager);
    //$this->bootstrapSession($e);
    date_default_timezone_set('Europe/Madrid');

    $translator = new \Zend\Mvc\I18n\Translator();
    $translator->addTranslationFile(
        'phpArray',
        'vendor/zendframework/zendframework/resources/languages/es/Zend_Validate.php',
        'default',
        'es_ES'
    );

    \Zend\Validator\AbstractValidator::setDefaultTranslator($translator);
}

翻译标准验证错误消息但在我的情况下它不起作用。

有人知道我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:0)

我忘了说我已经解决了这个问题。我做了一些更改,我的代码现在看起来像这样:

\Locale::setDefault('es_ES'); //<- this line is new
$translator = new \Zend\Mvc\I18n\Translator();
$translator->addTranslationFile(
    'phpArray',
    'lang/es/Zend_Validate.php',
    'default',
    'es_ES'
);
\Zend\Validator\AbstractValidator::setDefaultTranslator($translator);

然而翻译不起作用,因为Zend Framework提供的Zend_Validate.php(在我的西班牙语案例中为vendor / zendframework / zendframework / resources / languages / es / Zend_Validate.php)是obsolet,我不得不更改错误消息。

即。对于EmailAddress验证器类

我改变了这个:

“指定的类型无效,值应为字符串”=&gt;

到此

“给定的类型无效。字符串预期”=&gt;

因为EmailAddress类的静态变量是:

self :: INVALID =&gt; “给出了无效的类型。字符串预期”,

而不是

self :: INVALID =&gt; “给定的类型无效,值应为字符串”,