![](/img/trans.png)
[英]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.