2017-07-27 44 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

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