validace formulare pres snippet a ajax
- vosy
- Člen | 532
Ahoj, mam nette 2.4 a zkouším vykreslení chyb ve formuláři a to přes ajax.
ve formuláři mam:
$form->addText('jmeno', 'Jméno:')
->setRequired('Vyplňte prosím Vaše jméno.')
->setAttribute('placeholder', 'Vaše jméno');
pak mam inkludovanou šablonu
{include #content}
-->
{snippetArea section_kontakty}
{include sekce/kontakty.latte}
{/snippetArea}
-->
{snippetArea section_message}
{include kontakty/kontaktni-formular.latte}
{/snippetArea}
-->
{snippet formular}
{form kontaktniFormular_Form}
{print_r($form->getErrors())}
<div class="control-group form-group">
{label jmeno class=>"control-label"/}
<div class="controls">
{input jmeno class=>"form-control-line"}
</div>
<p class="form-error" id="error-{$form['jmeno']->getHtmlId()}">{print_r($form['jmeno']->getErrors())} {time()}</p>
</div>
.
.
.
.
.
<div class="btns">{input odeslat class=>"btn btn-normal btn-white btn-round btn-full"}</div>
ja javascriptu mam
$(document).on('click', '#frm-kontaktniFormular_Form-odeslat', function()
{
_nsHomepage.changedContactForm();
return false;
});
_nsHomepage.changedContactForm:function()
{
var pData = {};
pData.jmeno = $('#frm-kontaktniFormular_Form-jmeno').val();
pData.email = $('#frm-kontaktniFormular_Form-email').val();
pData.tel = $('#frm-kontaktniFormular_Form-tel').val();
pData.zprava = $('#frm-kontaktniFormular_Form-zprava').val();
$.nette.ajax({
url: URL_HANDLE_CHANGE_CONTACT_FORM,
data: pData
});
}
a v presenteru
function handlechange_contact_form($jmeno, $email, $tel, $zprava)
{
$form = $this['kontaktniFormular_Form'];
$form['jmeno']->setValue($jmeno);
$this->redrawControl('section_kontakty');
$this->redrawControl('section_message');
$this->redrawControl('formular');
}
když formulář odešlu tak {time()} který je v šabloně tak to se překreslý ale nevykreslý se mi chyby
{print_r($form['jmeno']->getErrors())}
vrátí se Array();
ale když formulář odešlu bez JS, tak se chyby ve formuláři vykreslí správně. :(