2017-07-27 28 views
0

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

} 

} 

这个错误是什么恰恰意味着,以及如何做我解决这个问题?

谢谢:)

回答

1

在FormBase有其需要在子类即LoginForm的实施到抽象方法。这些验证和提交方法(你的情况是submitForm)。写这些方法在你的LoginForm中,这个错误将会发生

+0

我不会说validateForm()方法是完全抽象的,因为它是可选的。由于Child类必须始终实现或为抽象方法提供定义。 – vishwa

+0

是的,我同意,我只是概括了抽象方法的概念。 –