単純なログインモジュールにSymfony1.4フォームを使用しています。かなり基本的なフォームのコードは次のとおりです。
<?php
class LoginForm extends sfFormSymfony
{
public function configure()
{
$this->setWidgets(
array('username' => new sfWidgetFormInputText(),
'password' => new sfWidgetFormInputPassword(),));
// 'remember_me' => new sfWidgetFormSelectCheckbox(array('choices'=>array('true'=>''))),));
$this->widgetSchema->setNameFormat('login[%s]');
$this->setValidators(array(
'username' => new sfValidatorString(array('required'=>true)),
'password' => new sfValidatorString(array('required'=>true)),
));
}
}
フォームは、期待どおりにテンプレートページで正常にレンダリングされます。参考までに、フォームをエコーアウトする代わりに、$ form ['username']-> renderメソッドを使用して、好きな場所にメソッドを個別にレンダリングします。
投稿時に(認識されます)、次のように値をフォームにバインドします。
$this->form->bind($request->getParameter('login'));
ただし、条件に反して失敗します
$this->form->isValid();
両方のフィールドが空のままになっておらず、クレデンシャルが正しいので、これは私にはもっと陰湿なようです。
var_dump($ this-> form-> getValues());を実行すると 空の配列を返します。これは、値が取得もバインドもされていないことを意味すると思います。
誰かが私が混乱している可能性のある場所を見つけることができますか?
ありがとう