2014-12-18 6 views
1

ZfcUser의 로그인 양식에 새 요소를 추가 할 때 등록 된 사용자의 올바른 이메일/패스로 인증 오류가 발생했습니다.Zend Framework 2. 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', 
        ), 
       ) 
      ); 

     } 
    ); 

} 

그러나 새로운 요소 로그인 양식에 allways 오류를 반환 'keep_signed_in'

도와주세요. 실제 인증 매개 변수로이 오류를 삭제하려면 어떻게해야합니까?

감사합니다.

+0

당신이 인증에 오류가 발생하는 경우는, 다음 가능성이있는 기록을하는 스크립트에 문제가된다는 점에서 당신이 우리에게서 숨어있는 PHP 스크립트? –

+0

나는 누구 에게서도 코드를 숨기지 않습니다. $ form-> add (...) 코드를 삭제하면 인증이 잘 작동합니다. 하지만이 확인란이 필요합니다. –

답변

0

을 해결책! :)

나는이 체크 박스에 대한 필터를 지정 잊었 = 거짓 필수 :.

$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, 
      ) 
     ); 

    } 
); 
1

다른 모듈이 이미하고있는 일을하려고하는 것 같은데 : 내가 알아 https://github.com/goalio/GoalioRememberMe (내가 그 질문에 대한 답이 아니다 알아,하지만 지금은 대답을 필요로하지 않을 수 있습니다 :))

+0

감사합니다, Daniel. 나는이 주제의 해결책을 찾지 못하면 이것을 시도 할 것이다. –