kdyby replicator a zachycení vyjímek
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- dez1nd
- Člen | 7
Zdravím,
použil jsem „kdyby replicator“ na formulář. Jde mi o to jak vyvolat vyjímku a následně ji zobrazit ve formuláři.
v modelu pro standartní formulář použiju
<?php
$error = new \Exceptions\WrongValues;
$error->addField('name','DEBUG: chyba názvu');
if($error->hasError())
{
throw $error;
}
?>
v komponentě zachytím
<?php
catchem (\Exceptions\WrongValues $e)
{
$e->applyErrors($form) //Ručně vykresluji prvky
}
?>
a potom v šabloně
<?php
{if $form['konf_end']->hasErrors()}
<span id="endBlock" class="help-block">{$form['konf_end']->getError()}</span>
{/if}
?>
jak toto použít i pro replikované položky formuláře ?
když pošlu applyError() na container replikátoru tak to vyhodí chybu že
formulář musí být instancí nette form a ne replicator container..
díky moc snad mě pochopíte. :) překněj den lidi
- David Matějka
- Moderator | 6445
asi ma ta tva metoda applyErrors typehint na Nette\Forms\Form
(pripadne UI\Form), dej tam Container