Drupal 8构建简单表单时的抽象方法错误

时间:2017-07-27 12:09:07

标签: php forms drupal drupal-8

我是Drupal的新手,我想构建一个简单的表单。 我收到这个错误:

致命错误:类Drupal \ medical \ Form \ LoginForm包含1个抽象方法,因此必须在C:\ xampp \ htdocs \ Webdevelopment中声明为abstract或实现其余方法(Drupal \ Core \ Form \ FormInterface :: submitForm)第8行的Burst \ Drupal_Test \ modules \ medical \ src \ Form \ LoginForm.php

以下是代码:

<?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',
      );

}

}

这个错误究竟是什么意思,我该如何解决?

谢谢:)

1 个答案:

答案 0 :(得分:1)

在FormBase中,有一些抽象方法需要在子类中实现,即LoginForm。这些是验证和提交方法(在您的情况下,它是submitForm)。在LoginForm中编写这些方法,这个错误将会出现