ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
numeric_inputs.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24
47{
48 //Step 0: Declare dependencies
49 global $DIC;
50 $ui = $DIC->ui()->factory();
51 $renderer = $DIC->ui()->renderer();
52 $request = $DIC->http()->request();
53 $refinery = $DIC->refinery();
54 $df = new \ILIAS\Data\Factory();
55 $query = $DIC->http()->wrapper()->query();
56 $here_uri = $df->uri($request->getUri()->__toString());
57 $url_builder = new URLBuilder($here_uri);
58 $example_namespace = ['input', 'numeric'];
59 list($url_builder, $example_name) = $url_builder->acquireParameters($example_namespace, "example_name");
60 $url_builder = $url_builder->withParameter($example_name, "numeric");
61
62 //Step 1: Declare the numeric input
63 $number_input = $ui->input()->field()
64 ->numeric("Some Number", "Put in a number.")
65 ->withValue(133);
66
67 $number_input2 = $number_input->withRequired(true)->withValue('');
68
69 //Step 2, define form and form actions
70 $form_action = $url_builder->buildURI()->__toString();
71 $form = $ui->input()->container()->form()->standard($form_action, [
72 'n1' => $number_input,
73 'n2' => $number_input2
74 ]);
75
76 //Step 3, implement some form data processing.
77 if ($query->has($example_name->getName())
78 && $query->retrieve($example_name->getName(), $refinery->custom()->transformation(fn($v) => $v === 'numeric'))
79 ) {
80 $form = $form->withRequest($request);
81 $result = $form->getData();
82 } else {
83 $result = "No result yet.";
84 }
85
86 //Return the rendered form
87 return
88 "<pre>" . print_r($result, true) . "</pre><br/>" .
89 $renderer->render($form);
90}
$renderer
global $DIC
Definition: shib_login.php:26