валидация форм

Главные вкладки

Аватар пользователя kv4 kv4 28 апреля 2011 в 14:10

Как реализовать валидацию формы для блока. Форма сабмитится через ahah. Код такой:


<?php

/**
 * Реализация hook_menu() 
 */
function cost_calculator_menu(){

  

$items['services/cost-calculator/calculate'] = array(
    
'page callback' => 'cost_calculator_calculate',
    
'access arguments' => TRUE,
    
'type' => CALLBACK_ITEM,
  );

  return 

$items;
}

/**
 * Реализация hook_block()
 */
function cost_calculator_block($op 'list'$delta 0$edit = array()){
  switch(
$op){
    case 
'list';
      
// Блок расчёта стоимости таможни
      
$blocks['customs'] = array(
        
'info' => t('Расчёт таможенной пошлины.'),
        
'cache' => BLOCK_NO_CACHE,
      );

      return 

$blocks;
    case 
'configure':
      return 
$form;
    case 
'save':
      return;
    case 
'view':
      
$block['content'] = drupal_get_form('calculator_form'$delta);
      return 
$block;
  }
}

function 

calculator_form(&$form_state$delta){
    
$foem['sum'] = array(
      
'#type' => 'textfield'
    ); 
 
  
$form['calculate-button'] = array(
    
'#type' => 'submit',
    
'#value' => t("Рассчитать"),
    
'#ahah' => array(
      
'path' => 'services/cost-calculator/calculate',
      
'wrapper' => 'calc-result',
    ),
  );

  

$form['calc-result'] = array(
    
'#value' => '&nbsp;',
    
'#prefix' => "<div id='calc-result'>",
    
'#suffix' => "</div>",
  );

  return 

$form;
}

// эта функция не вызывается никогда
function calculator_form_validate(&$form, &$form_state){
    
$va 2;
}

function 

cost_calculator_calculate(){
  
$output '<h1>Result</h1>';
  
drupal_json($output);
}
?>