Vlastní hodnota v selectu
- jedlicka
- Člen | 70
Zdravím,
měl bych dotaz na zadání vlastní hodnoty do selectu.
Mám formulář, který obsahuje select s daty:
$data = array("1", "2", "3");
$form->addSelect('data', '', $data)->setHtmlId('data');
V latte mám v Javascriptu nastaveno to, že select je select2
a je možné vložit vlastní data (tags: true
):
$('#data').select2({
tags: true
});
Formulář ale nelze odeslat, jelikož je chyba validace – vlastní data
zadaná do selectu nejsou součástí pole $data
.
Lze toto nějak ošetřit? Vlastní validace selectu, přidání nové hodnoty do pole…
Děkuju.
Martin
- nightfish
- Člen | 516
@jedlicka https://doc.nette.org/…rms/controls#…
Prvek automaticky kontroluje, že nedošlo k podvržení a že vybraná
položka je skutečně jednou z nabízených a nebyla deaktivovaná. Metodou
getRawValue()
lze získat odeslanou položku bez této důležité
kontroly.
- jedlicka
- Člen | 70
@nightfish Díky, ale je možné nějak přidat vlastní zadanou
hodnotu do seznamu položek? V současné chvíli je data = null
,
pokud např. zadám do selectu číslo 5 (které není v default seznamu).
Myslel jsem, že půjde validace vypnout pomocí
$select->checkDefaultValue(false)
, ale to nefunguje, jelikož
problém není v tom, že nová hodnota není v seznamu (chyba: Value
are out of allowed set in field), ale naopak hlásí chybu:
Please select a valid option.
Editoval jedlicka (15. 10. 15:55)