Drupal 8构建简单表单时的抽象方法错误
问题描述:
我是Drupal的新手,我想构建一个简单的表单。 我收到此错误:Drupal 8构建简单表单时的抽象方法错误
致命错误:Drupal \ medical \ Form \ LoginForm类包含1个抽象方法,因此必须在C中声明为抽象或实现其余方法(Drupal \ Core \ Form \ FormInterface :: submitForm) :\ XAMPP \ htdocs中\ web开发\突发\ Drupal_Test \模块\医疗\ SRC \表格\ LoginForm.php上线8
下面的代码:
<?php
namespace Drupal\medical\Form;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Form\FormBase;
class LoginForm extends FormBase {
public function getFormId(){
return 'medical_login';
}
public function buildForm(array $form, FormStateInterface $form_state) {
$form['username'] = array(
'#title' => t('Username'),
'#type' => 'textfield',
'#required' => TRUE,
);
$form['password'] = array(
'#title' => t('Password'),
'#type' => 'password',
'#required' => TRUE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Login',
);
}
}
这个错误是什么恰恰意味着,以及如何做我解决这个问题?
谢谢:)
答
在FormBase有其需要在子类即LoginForm的实施到抽象方法。这些验证和提交方法(你的情况是submitForm)。写这些方法在你的LoginForm中,这个错误将会发生
我不会说validateForm()方法是完全抽象的,因为它是可选的。由于Child类必须始终实现或为抽象方法提供定义。 – vishwa
是的,我同意,我只是概括了抽象方法的概念。 –