[英]how to enable username field on registration form in zfcuser module of zend framework 2?
[英]Future Proofing Changes to Validation of Username/Password Field in ZFCUser
我一直在寻找如何更改Zend Framework 2中ZFCUser模块中注册字段的实际验证过程。
有很多关于扩展和添加新字段等到表单,但不验证这些字段或扩展现有验证的方法。
我看了一下代码内部,发现了RegistrationForm.php文件,并添加了我的客户正则表达式过滤器。
效果很好,符合预期,但我担心在以后的任何升级中都将其覆盖。
我将如何进行操作以确保升级安全? 是否像我对视图文件所做的那样,扩展特定类或将其添加为自定义模块中的本地文件。
我和您有同样的问题,也找不到合适的解决方案。 但是,恕我直言,比更改原始源代码更好的方法是重写ZfcUser服务之一。
在zfc-user Module.php中定义了一个名为“ zfcuser_change_password_form”的服务。 如果您使用相同的名称创建自己的服务-原始服务将被覆盖。 因此,首先需要定义自己的过滤器/验证器类(YourFilter),然后在Module.php中添加:
public function getServiceConfig()
{
return array(
// ...
'factories' => array(
// ...
'zfcuser_change_password_form' => function ($sm) {
$options = $sm->get('zfcuser_module_options');
$form = new \ZfcUser\Form\ChangePassword(
null, $sm->get('zfcuser_module_options')
);
$form->setInputFilter(
new \YourModule\Form\YourFilter($options)
);
return $form;
},
),
);
}
这种解决方案允许更新zfcuser,而不会覆盖您的更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.