Непонятная проблема с формами в д7

Аватар пользователя 4upak 4upak 30 июля 2012 в 16:15

Создаю форму через api, все правильно делаю, в текстовых полях у меня есть default value, пользователь изменяет содержимое этих полей, сабмитит форму, но в функции сабмита изменений не видно, по прежнему в $form_state['values'] видно default value, в 6-ке такого небыло. Подозреваю что это какое-то кеширование. Как его отключить или как корректно очищать этот кеш?

Комментарии

Аватар пользователя emzzy emzzy 30 июля 2012 в 16:26

В чем у вас ошибка невозможно сказать заочно. Приведите код, который вы используете.

Аватар пользователя 4upak 4upak 30 июля 2012 в 16:45
function registration_user_login_form(){
         $form['mail'] = array(
      '#type' => 'textfield',
      '#title' => t('E-mail'),
      '#value' => t('Your e-mail'),
    );
 $form['pass'] = array(
      '#type' => 'textfield',
      '#title' => t('Pass'),
      '#value' => t('Your pass'),
    );
$form['submit'] = array(
      '#type' => 'submit',
          '#value' => t('Enter'),
          '#suffix' => "<div class='forgot'><a href='/forgot'>".t('Forgot password')."</a></div>",
          '#submit' => array('registration_user_login_form_submit'),
    );  
        return $form;
}

это форма

function registration_user_login_form_validate($form, &$form_state){
       
if(!preg_match('|([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is',$form_state['values']['mail'])){
                form_set_error('mail',t("Mail is not valid"));
        }
        else{
                list($username,$domain)=split('@',$form_state['values']['mail']);
       
        if(!checkdnsrr($domain,'MX')) {
                form_set_error('mail',t("Mail is not valid"));
        }
        }
}

$form_state['values'] - тут выдает значение которое было указано '#value' => t('Your e-mail'), все что вводит пользователь невидно

Аватар пользователя emzzy emzzy 30 июля 2012 в 16:50

Читаем
Used to set values that cannot be edited by the user. Should NOT be confused with #default_value, which is for form inputs where users can override the default value
Используйте #default_value