wiki

Ako vo webforme obmedziť počet výberov

Webform štandardne umožňuje zadávať buď jednu možnosť alebo „Multiple“ – čo znamená neobmedzene.

Tento custom modul Vám umožní nastaviť počet možností, ktoré neslobodno prekročiť – inak vyskočí chybové hlásenie.

/**
 * hook_form_alter for forms
 */
function egov_basic_form_alter(&$form, $form_state, $form_id){
  if($form_id == 'webform_client_form_1231'){
    $form['#validate'][] = 'egov_basic_validate_function';
  }
}
 
function egov_basic_validate_function($form, &$form_state)
{
	$pre_deti=$form_state['input']['submitted']['pre_deti'];
	$pre_dospelych=$form_state['input']['submitted']['pre_dospelych'];
	
	$pre_deti_count=0;
	foreach ($pre_deti as $pre_deti_row){
		if(!empty($pre_deti_row))$pre_deti_count++;
	}
	if($pre_deti_count > 3) form_set_error('submitted_pre_deti',t('Vyberte najviac 3 filmy pre deti.'));
	
	$pre_dospelych_count=0;
	foreach ($pre_dospelych as $pre_dospelych_row){
		if(!empty($pre_dospelych_row))$pre_dospelych_count++;
	}
	if($pre_dospelych_count > 5) form_set_error('submitted_pre_dospelych',t('Vyberte najviac 5 filmov pre dospelých.'));
}

egov_basic nahraďte názvom modulu.

pre_deti a pre_dospelych nahraďte názvami polí, v ktroých chcete spustiť obmedzenie.