您好我是ZF2的新人,只是想为PESEL添加新的walidator。 我在/ library / Zend / Validator中创建了一个ZendValidatePesel.php文件,并从StringLength.php文件中复制了内容。更改ZendValidatePesel的课程名称。 现在,我正在尝试使用它:
'validators' => array(
array(
'name' => 'ZendValidatePesel',
'options' => array(
'encoding' => 'UTF-8',
'min' => 11,
'max' => 11,
),
),
),
并收到错误:
Plik:
D:\xampp\htdocs\ZendHospital\vendor\zendframework\zendframework\library\Zend\ServiceManager\ServiceManager.php:529
Komunikat:
Zend\Validator\ValidatorPluginManager::get was unable to fetch or create an instance for ZendValidatePesel
请帮帮我..
答案 0 :(得分:0)
首先,不要将验证器(或其他任何内容)添加到供应商名称空间中。而是将它放在应用程序代码中的某个位置。不知道你的应用是如何构建的,但我们可以说./module/YourModule/src/YourModule/Validator/ZendValidatePesel
。
然后用完整的,有资格的名称引用你的验证器类,所以按照我的猜测它会是这样的:
'validators' => array(
array(
'name' => 'YourModule\Validator\ZendValidatePesel',
'options' => array(
// ...
),
),
据我所知,将直接为您实例化验证器。不那么有趣的事实:即使你在fqcn的同名下注册你的验证器,它也不会通过ValidatorPluginManager
- 这是我希望的,或已经在框架中修复(如果有人让我知道,因为它最终会喜欢有依赖的验证器)。