Výpis chyby při nesprávném přihlášení
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Budry
- Člen | 88
Zdravím,
předem se omlouvám za post, ale furt se mi nedaří přijít na to co
je blbě.
Měl jsem postavenou aplikaci na starší verzi Nette (jaká přesně nevím)
a upgradoval jsem na poslední verzi (Nette Framework 2.0.3 pro PHP 5.3 nebo
5.4)
a upravoval Authentifikator.
Script z presenteru
try {
$values = $form->getValues();
if ($values->remember_me) {
$this->getUser()->setExpiration('+ 14 days', FALSE);
} else {
$this->getUser()->setExpiration('+ 20 minutes', TRUE);
}
$this->getUser()->login($values->email, $values->password);
$this->redirect('Homepage:');
} catch (NS\AuthenticationException $e) {
$form->addError($e->getMessage());
}
A Authenticator
public function authenticate(array $credentials)
{
list($email, $password) = $credentials;
$row = $this->users->where('email', $email)->fetch();
if (!$row) {
throw new NS\AuthenticationException("User '$email' not found.", self::IDENTITY_NOT_FOUND);
}
if ($row->password !== $this->calculateHash($password)) {
throw new NS\AuthenticationException("Invalid password.", self::INVALID_CREDENTIAL);
}
unset($row->password);
return new NS\Identity($row->id_user, $row->nick, $row->toArray());
}
Ve formuláři se pak snažím vypsat chybu pomocí
<p class="chyba" n:if="$form->hasErrors()" n:foreach="$form->errors as $error">{$error}</p>
Ve starém vše fungovalo jak má, ale po upgradu a přepsání potřebných věcí místo toho aby se chyba zobrazila pomocí
<p class="chyba" n:if="$form->hasErrors()" n:foreach="$form->errors as $error">{$error}</p>
Zobrazí se klasická chybová stránka:
http://work.zaruba-ondrej.cz/…xception.htm
Mohl by někdo ze zkušenějších poradit, jak chybu vypsat klasicky k formuláři místo klasikého error reportu od laděnky
Předem díky
Editoval Budry (19. 4. 2012 11:42)