概要
フォームはFormBaseまたはConfigFormBaseを継承し、入力検証と保存処理を分けます。サービスが必要ならコンストラクター注入を使います。
実施例
public function buildForm(array $form, FormStateInterface $form_state): array {
$form['label'] = [
'#type' => 'textfield',
'#title' => $this->t('Label'),
'#required' => TRUE,
];
return $form;
}注意点
権限、CSRF保護、入力値の検証を省略せず、保存前後の振る舞いをテストします。
参考: 公式ドキュメント