当我在ZfcUser的登录表单中添加新元素时,我收到注册用户的正确电子邮件/通行证的身份验证错误。
我在引导函数中添加了以下行的新元素:
<?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',
),
)
);
}
);
}
但是使用新元素"keep_signed_in"登录表单会返回错误"身份验证失败。请再试一次。
请帮忙。我必须做什么才能使用真正的身份验证参数删除此错误?
谢谢你们,伙计们!
听起来你正在尝试做一些另一个模块已经在做的事情:https://github.com/goalio/GoalioRememberMe(我知道这不是你问题的答案,但现在你可能不需要答案:)(
我找到了解决方案! :)
我忘记用 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,
)
);
}
);