У меня запущен портлет входа в систему, основанный на этом учебном пособии.Однако он работает нормально, если в форме входа в систему произошла ошибка, сообщения об ошибках отображаются в портлете и не очень заметны.
Далее следует портлет:
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));
Однако, остальное не правильно, и я не могу понять, как это сделатьслучается.