Problem s mapovanim radiolistu pri vytvarani formularu v latte

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
figurluk
Člen | 61
+
0
-

Snazim sa vytvorit formular v latte a potom ho presenteri namapovat

ale mam problem s mapovanim radiolistu. Vypise to chybu ze mu chyba $key.

Presenter:

<?php

$form = new Form;
        $form->addText("email")->addRule(Form::EMAIL, 'Zadajte platny email')->setRequired();
        $form->addText("titul")->setRequired();
        $form->addText("meno")->setRequired();
        $form->addText("priezvisko")->setRequired();
        $form->addText("IDSLK")->setRequired();
        $form->addText("datumNarodenia")->setRequired();
        $form->addText("telefon")->setRequired();
        $form->addText("hradiRegistraciu");
        $form->addText("ICO")->setRequired();
        $form->addText("DIC")->setRequired();


        $form->addRadioList('datumUbytovania1',array("Ano" => "Ano","Nie" => "Nie",));
        $form->addRadioList('datumUbytovania2',array("Ano" => "Ano","Nie" => "Nie",));
        $form->addSelect("typUbytovania");
        $form->addSelect("typIzby");
        $form->addText("hradenieUbytovania");
        $form->addCheckbox("aktivnaUcast");


        $form->addText("ulicaBydliska")->setRequired();
        $form->addText("mestoBydliska")->setRequired();
        $form->addText("pscBydliska")->setRequired();


        $form->addText("nazovFirmy")->setRequired();
        $form->addText("ulicaFirmy")->setRequired();
        $form->addText("mestoFirmy")->setRequired();
        $form->addText("pscFirmy")->setRequired();

        $form->addCheckbox("danovyDoklad");

        $form->addSubmit('send');

?>

register.latte:

	<div class="form-group">
    <label for="inputEmail">*Email</label>
    <input type="email" class="form-control" id="inputEmail" placeholder="@" n:name=email>
</div>
<div class="form-group">
    <label for="inputTitul">*Titul</label>
    <input type="text" class="form-control" id="inputTitul" n:name=titul>
</div>
<div class="form-group">
    <label for="inputMeno">*Meno</label>
    <input type="text" class="form-control" id="inputMeno" n:name=meno>
</div>
<div class="form-group">
    <label for="inputPriezvisko">*Priezvisko</label>
    <input type="text" class="form-control" id="inputPriezvisko" n:name=priezvisko>
</div>
<div class="form-group">
    <label for="inputIDSLK">*IDSLK</label>
    <input type="text" class="form-control" id="inputIDSLK"  aria-describedby="help-IDSLK" n:name=IDSLK>
    <span id="help-IDSLK" class="help-block">Ak Vám nebolo pridelené zadajte štyri nuly</span>
</div>
<div class="form-group">
    <label for="inputDatumNarodenia">*Datum narodenia</label>
    <input type="text" class="form-control" id="inputDatumNarodenia" n:name=datumNarodenia>
</div>
<div class="form-group">
    <label for="inputTelefon">*Telefon</label>
    <input type="text" class="form-control" id="inputTelefon" n:name=telefon>
</div>
<div class="form-group">
    <label for="inputHradenie">Registraciu hradi</label>
    <input type="text" class="form-control" id="inputHradenie" n:name=hradiRegistraciu>
</div>
<div class="form-group">
    <label for="inputICO">*ICO</label>
    <input type="text" class="form-control" id="inputICO"  aria-describedby="help-ICO" n:name=ICO>
    <span id="help-ICO" class="help-block">V prípade že Ste fyzická osoba zadajte štyri nuly</span>
</div>
<div class="form-group">
    <label for="inputDIC">*DIC</label>
    <input type="text" class="form-control" id="inputIDSLK"  aria-describedby="help-DIC" n:name=DIC>
    <span id="help-DIC" class="help-block">V prípade že Ste fyzická osoba zadajte štyri nuly</span>
</div>

<h2>Ubytovanie</h2>

<div class="form-group">
    <span><b>z 15.10.2015 na 16.10.2015</b></span>
    <label class="radio-inline">
        <input type="radio" name="inlineRadioOptionsFirst" id="inlineRadio1" value="Ano" n:name=datumUbytovania1> Ano
    </label>
    <label class="radio-inline">
        <input type="radio" name="inlineRadioOptionsFirst" id="inlineRadio2" value="Nie" n:name=datumUbytovania1> Nie
    </label>
</div>

<div class="form-group">
    <span><b>z 16.10.2015 na 17.10.2015</b></span>
    <label class="radio-inline">
        <input type="radio" name="inlineRadioOptionsSecond" id="inlineRadio3" value="Ano" n:name=datumUbytovania2> Ano
    </label>
    <label class="radio-inline">
        <input type="radio" name="inlineRadioOptionsSecond" id="inlineRadio4" value="Nie" n:name=datumUbytovania2> Nie
    </label>
</div>

<div class="form-group">
    <label for="inputSpoluUbytovany">Chcem byt ubytovany spolu s</label>
    <input type="text" class="form-control" id="inputSpoluUbytovany">
</div>
<div class="form-group">
    <label for="typUbytovania">Typ ubytovania</label>
    <select class="form-control" id="typUbytovania" n:name=typUbytovania>
      <option>bez ubytovania</option>
      <option>Hotel DoubleTree by Hilton - Kosice 4*</option>
      <option>Hotel Centrum - Kosice 3*</option>
      <option>Hotel Gloria Palac - Kosice 3*</option>
    </select>
</div>
<div class="form-group">
    <label for="typIzby">Izba</label>
    <select class="form-control" id="typIzby" n:name=typIzby>
      <option>jednolozkova</option>
      <option>dvojlozkova</option>
    </select>
</div>
<div class="form-group">
    <label for="inputHradenieUbytovania">Ubytovanie hradi</label>
    <input type="text" class="form-control" id="inputHradenieUbytovania" n:name=hradenieUbytovania>
</div>
<div class="form-group">
    <span><b>Typ ucasti - aktivna</b></span>
    <label class="checkbox-inline">
        <input type="checkbox" name="inlineCheckOptionsFirst" id="inlineCheck1" value="Ano" n:name=aktivnaUcast> Ano
    </label>
</div>

<h2>Adresa bydliska</h2>
<div class="form-group">
    <label for="inputUlicaBydlisko">*Ulica</label>
    <input type="text" class="form-control" id="inputUlicaBydlisko" n:name=ulicaBydliska>
</div>
<div class="form-group">
    <label for="inputMestoBydlisko">*Mesto/Obec</label>
    <input type="text" class="form-control" id="inputMestoBydlisko" n:name=mestoBydliska>
</div>
<div class="form-group">
    <label for="inputPSCBydlisko">*PSC</label>
    <input type="text" class="form-control" id="inputPSCBydlisko" n:name=pscBydliska>
</div>

<h2>Adresa pracoviska</h2>
<div class="form-group">
    <label for="inputFirma">*Spolocnost/Firma</label>
    <input type="text" class="form-control" id="inputFirma" n:name=nazovFirmy>
</div>
<div class="form-group">
    <label for="inputUlicaFirma">*Ulica</label>
    <input type="text" class="form-control" id="inputUlicaFirma" n:name=ulicaFirmy>
</div>
<div class="form-group">
    <label for="inputMestoFirma">*Mesto/Obec</label>
    <input type="text" class="form-control" id="inputMestoFirma" n:name=mestoFirmy>
</div>
<div class="form-group">
    <label for="inputPSCFirma">*PSC</label>
    <input type="text" class="form-control" id="inputPSCFirma" n:name=pscFirmy>
</div>

<div class="form-group">
    <label class="checkbox-inline">
        <input type="checkbox" name="inlineCheckOptionsSecond" id="inlineCheck2" value="Ano" n:name=danovyDoklad>Požadujem zaslanie daňového dokladu
    </label>
</div>

<button type="submit" class="btn btn-default" n:name=send>Registrovat</button>\--

Editoval figurluk (2. 5. 2015 2:24)

Lukeluha
Člen | 130
+
0
-

Máš nějaký důvod proč to renderovat ručně, když by to šlo krásně automaticky? (popř. s menším upravením rendereru)

figurluk
Člen | 61
+
0
-

Lukeluha napsal(a):

Máš nějaký důvod proč to renderovat ručně, když by to šlo krásně automaticky? (popř. s menším upravením rendereru)

okej tak to vyrenderujem automaticky :)

Šaman
Člen | 2668
+
0
-

Opravdu se tomu nelíbí ty RadioListy? Key ti totiž chybí v selectech (resp. atribut value).


Jinak tenhle způsob vykreslování je běžný, pokud kodér dodá hotové prototypy. Pak je potřeba je jen oživit a není důvod řešit nějaký renderer.

figurluk
Člen | 61
+
0
-

Šaman napsal(a):

Opravdu se tomu nelíbí ty RadioListy? Key ti totiž chybí v selectech (resp. atribut value).


Jinak tenhle způsob vykreslování je běžný, pokud kodér dodá hotové prototypy. Pak je potřeba je jen oživit a není důvod řešit nějaký renderer.

teraz mam problem s tym ze vysledok formularu mi treba zapisat do databaze… a checkboxi aj pri zaskrtnuti vzdy davaju false.. pozeral som sa na to cez dump

takto beriem data z formularu

<?php
$values = $form->getValues(TRUE);
?>
Šaman
Člen | 2668
+
0
-

figurluk napsal(a):

teraz mam problem s tym ze vysledok formularu mi treba zapisat do databaze… a checkboxi aj pri zaskrtnuti vzdy davaju false.. pozeral som sa na to cez dump

takto beriem data z formularu

<?php
$values = $form->getValues(TRUE);
?>

Protože tam používáš name i n:name. name má přednost, takže ty checkboxy nemáš spárovaný. Použij jen n:name.

figurluk
Člen | 61
+
0
-

Šaman napsal(a):

figurluk napsal(a):

teraz mam problem s tym ze vysledok formularu mi treba zapisat do databaze… a checkboxi aj pri zaskrtnuti vzdy davaju false.. pozeral som sa na to cez dump

takto beriem data z formularu

<?php
$values = $form->getValues(TRUE);
?>

Protože tam používáš name i n:name. name má přednost, takže ty checkboxy nemáš spárovaný. Použij jen n:name.

Dakujem pomohlo