0

Symfony で作成された単純なログイン フォームに問題があります。コントローラーのコードは次のとおりです。

public function loginAction(Request $request){
        $user = new User();
        $form = $this->createFormBuilder($user)
        ->add('userID', 'text', array('label' => 'UserID'))
        ->add('password', 'password', array('label' => 'Password'))
        ->add('ricorda', 'checkbox', array(
                "required" => false,
                "mapped" => false
        ))
        ->add('login', 'submit')->getForm();

        $form->handleRequest($request);
        Debug::dump($_POST$user);
        /*if($form->isValid()){

        }*/
        return $this->render('TDDumbFEBundle:Default:auth.html.twig', array('form' => $form->createView()));
    }

ここでは、フォーム データを格納してから検証する必要があるエンティティ クラス ユーザーを示します。

class User{

    private $userID;

    private $password;

    public function getUserID(){
        return $this->userID;
    }

    public function getPassword(){
        return $this->password;
    }

    public function setUserID($userID){
        $this->$userID = $userID;
    }

    public function setPassword($password){
        $this->$password = $password;
    }
}

最後に、制約:

properties:
  userID:
    - NotBlank: ~
  password:
    - NotBlank: ~

理由はわかりませんが、ユーザー ID とパスワードの入力フィールドに何を入力しても、常に

This value should not be blank.

メッセージ。Debug::dump()ユーザー オブジェクトでメソッドを使用すると、すべてのプロパティが空であることがわかります。

何か案は?

4

1 に答える 1

1

単純なタイプミス。

public function setUserID($userID){
    $this->$userID = $userID;          // *** Change to $this->userID = $userID
}

public function setPassword($password){
    $this->$password = $password;      // *** Change to $this->password = $password;
}
于 2013-08-31T17:51:31.303 に答える