Novinky ve formulářích

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Grudl
Nette Core | 8082
+
0
-

Pravidlo EQUAL akceptuje více hodnot

Pravidlo a podmínka EQUAL nyní akceptuje i pole hodnot a kontroluje, zda-li hodnota odpovídá alespoň jedné z nich (operátor OR).

// HTML element #sendBox bude vidět, pokud uživatel zvolí stát 'cs' nebo 'uk'

$form->addRadioList('country', 'Country:', $countries)
	->addCondition(Form::EQUAL, array('cs', 'uk'))
		->toggle('sendBox');

Rozšířené možnosti vykreslování

Výchozí vykreslovač ConventionalRenderer přihlíží k uživatelské hodnotě description skupin a prvků. Hodnotou může být řetězec nebo objekt Nette\Web\Html.

Příklad:

$form->addGroup('Rozměry')
	->setOption('description', 'Vyplňte prosím pečlivě rozměry');

$form->addText('width', 'Šířka:')
	->setOption('description', '(cm)')
	->setOption('class', 'myClass');

$form->addText('height', 'Výška:')
	->setOption('description', '(mm)')
	->setOption('id', 'myId');

Vygeneruje

<fieldset>
<legend>Rozměry</legend>
<p>Vyplňte prosím pečlivě rozměry</p>

<table>
<tr class="myClass">
	<th><label for="frmform-width">Šířka:</label></th>

	<td><input type="text" class="text" name="width" id="frmform-width" value="" /> <small>(cm)</small></td>
</tr>

<tr id="myId">
	<th><label for="frmform-height">Výška:</label></th>

	<td><input type="text" class="text" name="height" id="frmform-height" value="" /> <small>(mm)</small></td>
</tr>
</table>
</fieldset>

Chybové zprávy ve formátu HTML

Chybové zprávy mohou být kromě řetězců i objekty Nette\Web\Html:

$message = Html::el('strong', 'Velká chyba')->class('fatalerror');
$form->addError($message);