ciste reseni pro zabraneni zobrazeni renderu
- ali
- Člen | 342
Zdravim,
chtel bych se zeptat, na ciste reseni meho problemu…
Mam komponentu s formularem. Tento formular mam zobrazen v renderu
scanSn, zde se naskenuje seriove cislo a v metode
scanFormValidate se zkontroluje jestli je vse v poradku
(delka, znaky, zaznam v db)
Po kontrole v metode scanFormSuccess nastavim view na
rework, ve ktere se mi nacte dalsi formular.
Abych zabranil zobrazeni renderu rework zadanim adresy do prohlizece (bez naskenovani seriove cisla), ve startup metode pres promennou snIsOk kontroluju jestli bylo seriove cislo naskenovano, pokud ne, presmeruji na render default
A otazka zni, je muj postup spravny?
<?php
private $snIsOk = false;
public function startup()
{
parent::startup();
if(!$this->snIsOk && $this->getName()=="Pega:Rework" && $this->getAction()=="rework")
$this->redirect("Rework:default");
}
protected function createComponentScanForm()
{
$form = new Form;
$form->addProtection();
.....
$form->onValidate[] = $this->scanFormValidate;
$form->onSuccess[] = $this->scanFormSuccess;
return $form;
}
public function scanFormValidate($form)
{
.....
}
public function scanFormSuccess($form)
{
$values = $form->getValues();
$this->template->sn = $values["sn"];
$this->snIsOk = true;
$this->setView("rework");
}
?>
RSS tématu
Téma zavřeno