dinamikusan generált form küldésre hibát ad

hedda7 képe

Sziasztok!

Egy saját modulban készítettem egy olyan formot, amivel csoportosított adatokat kívánok megjeleníteni, ezek a csoportok és a csoportokba tartozó adatok dinamikusan jönnek adatbázisból, ezért így próbáltam a formot is összeállítani.

A problémám, hogy a form submit után ha nem az üres formot küldöm el, akkor a következő hibaüzenet jelenik meg:
Nem érvényes választást talált a rendszer. Javasolt a webhely gazdájával felvenni a kapcsolatot.

A probléma a ciklussal generált form elemek miatt van? Olvastam olyasmit, hogy azokat a form elemeket nem találja meg a validáció során. Ezt így nem lehet megoldani, vagy akkor mit, hogy lehetne ehelyett használni?

Előre is köszönöm a segítségeteket!

function participants_form() {
  $form['members_list'] = array(
    '#type' => 'fieldset',
    '#title' => t('Részvételi névsor'),
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
	);
 
  $sections = _sections_get_list_of();
 
  foreach($sections as $id => $section_name) {    
    $members = _sections_members_of_section($id);
     if (count($members)) {   
     //dpm($members);
      $form['members_list'][$id] = array(
        '#type' => 'fieldset',
        '#title' => $section_name,
        '#collapsible' => TRUE,
        '#collapsed' => TRUE,
      );
 
      $form['members_list'][$id]['members'] = array(
        '#type' => 'checkboxes',
        '#options' => $members,
      );
    }
  }
 
 
  $form['members_list']['members_list_submit'] = array(
    '#type' => 'submit', 
    '#value' => t('Mentés'),
  );
 
  return $form;
}
Drupal verzió: 
Bálint képe

Lenne egy tippem.

A members_list fieldseten belül ugyan mindig más nevű fieldsetbe teszed a members űrlapelemet, de így több űrlapelemnek lesz ugyanaz a neve, és az eredményül kapott form_state['values'] tömbben minden a members nevű tömb alá fog kerülni feldolgozás után.
Próbáld meg a members_list fieldsethez hozzáadni ezt:

'#tree' => TRUE

http://drupal.org/node/48643

Ha így sem megy, akkor inkább használj ahhoz is "dinamikus" nevet, pl. összefűzheted a $id-vel.

0
0
hedda7 képe

Köszönöm szépen, a #tree beállításával működött már a dolog!

0
0
hedda7 képe

Köszi a linkeket, még hasznos lehet ;)

0
0