Accessing methods as properties via $obj->isEmailAvailable is deprecated
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- motorcb
- Člen | 552
Zdravím,
jak v Nette 2.4 kontrolovat zda email je již zaregistrovaný v DB?
Toto mi hlásí chybu Accessing methods as properties via
$obj->isEmailAvailable is deprecated
protected function createComponentRegForm()
{
$form = new Form;
$form->addText('email', 'E-mail:')
->setType('email')
->addRule( $this->isEmailAvailable, 'Email je již zaregistrovaný!' );
//...
$form->onSuccess[] = $this->regFormSucceeded;
return $form;
}
public function isEmailAvailable( $email )
{
$row = $this->modelReg->findByEmail( $email->value );
return ($row == FALSE);
}
- CZechBoY
- Člen | 3608
Nebo php callbackem
protected function createComponentRegForm()
{
$form = new Form;
$form->addText('email', 'E-mail:')
->setType('email')
->addRule([$this, 'isEmailAvailable'], 'Email je již zaregistrovaný!' );
//...
$form->onSuccess[] = $this->regFormSucceeded;
return $form;
}
public function isEmailAvailable( $email )
{
$row = $this->modelReg->findByEmail( $email->value );
return ($row == FALSE);
}
- Lukes
- Silver Partner | 68
Jak píšou kolegové výše od 2.4 jsou method gettery deprecated viz https://forum.nette.org/…thod-gettery
Osobně jsem je také používal, ale celkem sem si zvykl na klasický php callback. A jak píše v odkazu výše @JanTvrdík funguje s tím lépe i PhpStorm.