Drupal 7 添加表单Drupal错误页面

Drupal 7 添加表单Drupal错误页面,drupal-7,Drupal 7,我正在开发Drupal7。我想在“错误!网站遇到意外错误。请稍后再试”页面上显示表单。 我已将maintenance-page.tpl.php文件复制到我的主题文件夹中。并在该模板中呈现了一个表单。到目前为止,表单仍在显示,但当我提交表单时,drupal没有进入_validate和_submit函数 这是密码 模板文件 <div class="complaint-form-message"> <h5>

我正在开发Drupal7。我想在“错误!网站遇到意外错误。请稍后再试”页面上显示表单。 我已将maintenance-page.tpl.php文件复制到我的主题文件夹中。并在该模板中呈现了一个表单。到目前为止,表单仍在显示,但当我提交表单时,drupal没有进入_validate和_submit函数

这是密码 模板文件

<div class="complaint-form-message">
                <h5>
                    We’re sorry you’re having trouble with myCCS! 
                    Tell us about the error you’ve experienced and we’ll 
                    get right back to you!
                </h5>
            </div>
            <div class="complaint-form">
                <?php echo drupal_render(drupal_get_form('complaint_form_form')); ?>
            </div>

我们很抱歉你在myCCS上遇到麻烦!
告诉我们您遇到的错误,我们将
马上回来!
形式函数

function complaint_form_form($form, &$form_state){
$form['name'] = array(
    '#type' => 'textfield',
    '#required' => TRUE,
    '#title' => 'First Name & Last Name',
);

$form['email'] = array(
    '#type' => 'textfield',
    '#required' => TRUE,
    '#title' => 'Email Address',
);

$form['browser'] = array(
    '#type' => 'textfield',
    '#required' => TRUE,
    '#title' => 'What browser you are using?',
);

$form['tell_us_about_error'] = array(
    '#type' => 'textarea',
    '#required' => TRUE,
    '#title' => 'Tell us about error you experienced?',
);

$form['attachment'] = array(
    '#type' => 'file',
    '#title' => 'Attachment',
);

$form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Submit'),
    '#submit' => 'complaint_form_submit',
);


return $form;

}

function complaint_form_validate($form, $form_state){
  echo 'PPPPP<pre>'; print_r($form_state); die;
  $mail = $form_state['values']['submitted_tree']['email'];
  if (!valid_email_address($mail)) 
    form_set_error('[submitted][email_address]', t('The email
    address appears to be invalid.'));
}

function complaint_form_submit($form, $form_state){
  echo 'DDDDD<pre>'; print_r($form_state); die;
  $values = $form_state['values'];

}
功能投诉表格表格($form,&$form\u state){
$form['name']=数组(
“#键入”=>“文本字段”,
“#必需”=>正确,
“#title”=>“名字和姓氏”,
);
$form['email']=数组(
“#键入”=>“文本字段”,
“#必需”=>正确,
“#title”=>“电子邮件地址”,
);
$form['browser']=数组(
“#键入”=>“文本字段”,
“#必需”=>正确,
“#title”=>“您使用的浏览器是什么?”,
);
$form['tell___关于_错误']=array(
“#键入”=>“文本区域”,
“#必需”=>正确,
“#title”=>“告诉我们您遇到的错误?”,
);
$form['attachment']=数组(
“#键入”=>“文件”,
“#标题”=>“附件”,
);
$form['submit']=数组(
“#键入”=>“提交”,
“#value”=>t('Submit'),
“#提交”=>“投诉(表格)提交”,
);
返回$表格;
}
功能投诉表格验证($form,$form\u state){
回音“PPPPP”;打印($form_状态);死亡;
$mail=$form_state['values']['submitted_tree']['email'];
如果(!有效的电子邮件地址($mail))
表格设置错误(“[已提交][电子邮件地址]”,t('电子邮件地址
地址似乎无效。“);
}
功能投诉表格提交($form,$form\u state){
echo'DDDDD';print_r($form_state);die;
$values=$form_state['values'];
}
您的#submit是一个数组,您将其作为字符串放置, 因此,请将提交条目更改为以下内容。 并将$form['submit']放入$form['actions']['submit']

添加验证的步骤


注意:“#验证”是一个数组

谢谢您的回复。
$form['actions']['submit']=array(
    '#type' => 'submit',
    '#value' => t('Submit'),
    '#submit' => array('complaint_form_submit'),
);
Note: **'#submit' is an array**
$form['#validate'][] = 'complaint_form_validate';