Version 1
[yaffs-website] / web / core / modules / system / tests / modules / form_test / src / Form / FormTestRangeForm.php
1 <?php
2
3 namespace Drupal\form_test\Form;
4
5 use Drupal\Core\Form\FormBase;
6 use Drupal\Core\Form\FormStateInterface;
7 use Symfony\Component\HttpFoundation\JsonResponse;
8
9 /**
10  * Form constructor for testing #type 'range' elements.
11  */
12 class FormTestRangeForm extends FormBase {
13
14   /**
15    * {@inheritdoc}
16    */
17   public function getFormId() {
18     return 'form_test_range';
19   }
20
21   /**
22    * {@inheritdoc}
23    */
24   public function buildForm(array $form, FormStateInterface $form_state) {
25     $form['with_default_value'] = [
26       '#type' => 'range',
27       '#title' => 'Range with default value',
28       '#min' => 10,
29       '#max' => 20,
30       '#step' => 2,
31       '#default_value' => 18,
32       '#description' => 'The default value is 18.',
33     ];
34     $form['float'] = [
35       '#type' => 'range',
36       '#title' => 'Float',
37       '#min' => 10,
38       '#max' => 11,
39       '#step' => 'any',
40       '#description' => 'Floating point number between 10 and 11.',
41     ];
42     $form['integer'] = [
43       '#type' => 'range',
44       '#title' => 'Integer',
45       '#min' => 2,
46       '#max' => 8,
47       '#step' => 2,
48       '#description' => 'Even integer between 2 and 8.',
49     ];
50     $form['offset'] = [
51       '#type' => 'range',
52       '#title' => 'Offset',
53       '#min' => 2.9,
54       '#max' => 10.9,
55       '#description' => 'Value between 2.9 and 10.9.',
56     ];
57     $form['submit'] = [
58       '#type' => 'submit',
59       '#value' => 'Submit',
60     ];
61     return $form;
62   }
63
64   /**
65    * {@inheritdoc}
66    */
67   public function submitForm(array &$form, FormStateInterface $form_state) {
68     $form_state->setResponse(new JsonResponse($form_state->getValues()));
69   }
70
71 }