Nefungující validace formuláře
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- majty
- Člen | 8
Ahoj,
potřeboval bych prosím poradit s validací formuláře.
Dělám více krokový registrační formulář a potřebuji potlačovat jeho
odeslání. Vše funguje ale problém nastane při validaci, která se
neprovádí.
formular v presenteru:
public function createComponentRegistrationFormStep1()
{
$form = new NAppForm;
$renderer = $form->getRenderer();
$form->addText('company', 'Název firmy')
->addRule(NAppForm::FILLED, 'Zadejte název firmy');
$form->addSubmit('submit', 'Pokračuj');
return $form;
}
formular v latte:
{form registrationFormStep1 onsubmit => "nejakeFce(); return false;"}
<table>
<tr>
<th>{label company /}</th>
<td>{input company}</td>
</tr>
<tr>
<th>{label submit /}</th>
<td>{input submit}</td>
</tr>
</table>
{/form}
includuju soubor netteForms.js
<script src="http://nette.github.com/resources/js/netteForms.js"></script>
- majty
- Člen | 8
takže nakonec řešení tohoto problému:
**latte: **
{form registrationFormStep1 onsubmit => "return validateFormNoSubmit(this);"}
<table>
<tr>
<th>{label company /}</th>
<td>{input company}</td>
</tr>
<tr>
<th>{label submit /}</th>
<td>{input submit}</td>
</tr>
</table>
{/form}
**script: **
<script type="text/javascript">
function validateFormNoSubmit(form)
{
Nette.validateForm(form);
return false;
}
</script>