このチュートリアルに基づいたログイン ポートレットを稼働させています。問題なく動作しますが、ログイン フォームにエラーがある場合、エラー メッセージはポートレット内に表示され、あまり目立ちません。
ポートレットは次のとおりです。
class UserLogin extends Portlet
{
public $title='Login';
protected function renderContent()
{
$form=new LoginForm;
if(isset($_POST['LoginForm']))
{
$form->attributes=$_POST['LoginForm'];
if($form->validate())
$this->controller->refresh();
}
$this->render('userLogin',array('form'=>$form));
}
}
エラーが発生した場合、エラーが目立つように表示され、何か問題が発生したことをユーザーに明確に示すことができる完全なログインフォームにログイン試行がリダイレクトされるようにすることをお勧めします。
次のようなもの:
if($form->validate())
$this->controller->refresh();
else
$this->render('login',array('form'=>$form));
ただし、else ビットは正しくありません。それを実現する方法がわかりません。