FormTestResponseForm.php in Drupal 9
File
core/modules/system/tests/modules/form_test/src/Form/FormTestResponseForm.php
View source
<?php
namespace Drupal\form_test\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
use Symfony\Component\HttpFoundation\JsonResponse;
class FormTestResponseForm extends FormBase {
public function getFormId() {
return 'form_test_response';
}
public function buildForm(array $form, FormStateInterface $form_state) {
$form['content'] = [
'#type' => 'textfield',
'#title' => 'Content',
];
$form['status'] = [
'#type' => 'textfield',
'#title' => 'Status',
'#default_value' => 200,
];
$form['submit'] = [
'#type' => 'submit',
'#value' => 'Submit',
];
return $form;
}
public function submitForm(array &$form, FormStateInterface $form_state) {
$values = $form_state
->getValues();
$form_state
->setResponse(new JsonResponse($values['content'], (int) $values['status']));
}
}