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