Php Zend框架2。ZfcUser。在登录表单中添加新元素时,正确的电子邮件/通行证出现身份验证错误
当我在ZfcUser的登录表单中添加新元素时,注册用户的正确电子邮件/通行证出现身份验证错误 我在引导函数中添加了新元素,如下所示:Php Zend框架2。ZfcUser。在登录表单中添加新元素时,正确的电子邮件/通行证出现身份验证错误,php,authentication,zend-framework,login,zfcuser,Php,Authentication,Zend Framework,Login,Zfcuser,当我在ZfcUser的登录表单中添加新元素时,注册用户的正确电子邮件/通行证出现身份验证错误 我在引导函数中添加了新元素,如下所示: <?php namespace SystemUser; use Zend\Mvc\ModuleRouteListener; use Zend\Mvc\MvcEvent; public function onBootstrap($e) { $events = $e->getApplication()->getEventManager(
<?php
namespace SystemUser;
use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;
public function onBootstrap($e)
{
$events = $e->getApplication()->getEventManager()->getSharedManager();
$sharedEvents->attach('ZfcUser\Form\Login',
'init',
function($e)
{
// @var $form \ZfcUser\Form\Login
$form = $e->getTarget();
// Configure email input
$form->get('identity')
->setAttribute('placeholder', 'Your email')
->setAttribute('class', 'text-input')
->setAttribute('title', 'Your email');
// Configure password input
$form->get('credential')
->setAttribute('placeholder', 'Your password')
->setAttribute('class', 'text-input')
->setAttribute('title', 'Your password');
// Configure submit button
$form->get('submit')
->setAttribute('class', 'btn btn-primary submit');
// Add field "Keep me signed in."
$form->add(
array(
'type' => 'Zend\Form\Element\Checkbox',
'name' => 'keep_signed_in',
'options' => array(
'label' => 'Keep me signed in.',
'use_hidden_Element' => true,
'checked_value' => '1',
'unchecked_value' => '0'
),
'attributes' => array(
'id' => 'keep_signed_in',
),
)
);
}
);
}
听起来您正在尝试做其他模块已经在做的事情:(我知道这不是您问题的答案,但现在您可能不需要答案:)我找到了解决方案!:)
我忘记了使用required=false为此复选框指定筛选器:
$sharedEvents->attach('ZfcUser\Form\LoginFilter', 'init', function($e) {
// @var $form \ZfcUser\Form\LoginFilter
$filter = $e->getTarget();
// Custom field keep_signed_in
$filter->add(array(
'name' => 'keep_signed_in',
'required' => false,
)
);
}
);
如果您遇到身份验证错误,那么很可能是脚本登录时出现问题。这是在PHP脚本中隐藏的吗?我不会对任何人隐藏代码。当我删除代码$form->add(…)时,身份验证开始正常工作。但我需要这个复选框。谢谢你,丹尼尔。如果找不到解决问题的方法,我会试试这个。