[TASK] Document 'defaultValue' handling of form
[Packages/TYPO3.CMS.git] / typo3 / sysext / form / Documentation / FAQ / Index.rst
1 .. include:: ../Includes.txt
2
3
4 .. _faq:
5
6 ===
7 FAQ
8 ===
9
10
11 .. _faq-override-frontend-templates:
12
13 How do I override the frontend templates?
14 =========================================
15
16 There are 2 possible ways to override the frontend templates.
17
18
19 Globally extend the fluid search paths
20 --------------------------------------
21
22 Since EXT:form mainly uses YAML as configuration language you need to
23 register your own additional YAML files. Let us assume you are using a
24 sitepackage ``EXT:my_site_package`` which contains your whole frontend
25 integration.
26
27
28 EXT:my_site_package/Configuration/TypoScript/setup.txt
29 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
30
31 First of all, register a new EXT:form configuration for the frontend via
32 TypoScript.
33
34 .. code-block:: typoscript
35
36    plugin.tx_form {
37        settings {
38            yamlConfigurations {
39                # register your own additional configuration
40                # choose a number higher than 30 (below is reserved)
41                100 = EXT:my_site_package/Configuration/Yaml/CustomFormSetup.yaml
42            }
43        }
44    }
45
46
47 EXT:my_site_package/Configuration/Yaml/CustomFormSetup.yaml
48 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
49
50 Next, define the additional fluid template search paths via YAML.
51
52 .. code-block:: yaml
53
54    TYPO3:
55      CMS:
56        Form:
57          prototypes:
58            standard:
59              formElementsDefinition:
60                Form:
61                  renderingOptions:
62                    templateRootPaths:
63                      20: 'EXT:my_site_package/Resources/Private/Form/Frontend/Templates/'
64                    partialRootPaths:
65                      20: 'EXT:my_site_package/Resources/Private/Form/Frontend/Partials/'
66                    layoutRootPaths:
67                      20: 'EXT:my_site_package/Resources/Private/Form/Frontend/Layouts/'
68
69 .. note::
70    The preview within the form editor (backend module) uses the frontend
71    templates as well. If you want the preview to show your customized
72    templates, register the new paths for the backend module as well.
73
74
75 EXT:my_site_package/ext_typoscript_setup.txt
76 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
77
78 Register your EXT:form configuration for the backend via TypoScript. Read
79 the :ref:`chapter <concepts-configuration-yamlregistration-backend>` to
80 learn why we recommend using the concept behind ``ext_typoscript_setup.txt``.
81
82 .. code-block:: typoscript
83
84    module.tx_form {
85        settings {
86            yamlConfigurations {
87                100 = EXT:my_site_package/Configuration/Yaml/CustomFormSetup.yaml
88            }
89        }
90    }
91
92
93 .. _faq-migrate-from-v7:
94
95 How do I migrate from EXT:form v7?
96 ==================================
97
98 The old form extension (used in TYPO3 v7, which is compatible to TYPO3 v6)
99 was moved into an own extension called ``form_legacy``.  This extension can
100 be found within the official `TER <https://typo3.org/extensions/repository/view/form_legacy>`_.
101 When upgrading to TYPO3 v8 an upgrade wizard will tell you if form_legacy is
102 still needed.
103
104
105 .. _faq-frontend-validation:
106
107 Is there a frontend validation?
108 ===============================
109
110 Yes, an HTML 5 based frontend validation is implemented. Nevertheless,
111 there is no JavaScript validation. This has to be integrated manually.
112 Reliable and maintained projects are `Parsley <https://github.com/guillaumepotier/Parsley.js>`_
113 and `jQuery Validation <https://github.com/jquery-validation/jquery-validation>`_.
114
115
116 .. _faq-localize-client-side-validations:
117
118 How do I localize the client side validations in the frontend?
119 ==============================================================
120
121 The displayed validation message is a browser specific text. The output is
122 not generated by TYPO3 and therefore you cannot change it easily.
123 Nevertheless, there is a JavaScript solution for changing the validation
124 message. See `Stack Overflow <http://stackoverflow.com/questions/5272433/html5-form-required-attribute-set-custom-validation-message>`
125 for more information.
126
127
128 .. _faq-date-picker:
129
130 How does the date picker work?
131 ==============================
132
133 EXT:form ships a datepicker form element. To unfold its full potential you
134 should add jquery JavaScript files and jqueryUi JavaScript and CSS files to
135 your frontend.
136
137
138 .. _faq-user-registration:
139
140 Is it possible to build a frontend user registration with EXT:form?
141 ===================================================================
142
143 Possible, yes. But we are not aware of an integration.
144
145
146 .. _faq-export-module:
147
148 Is there some kind of export module for saved forms?
149 ====================================================
150
151 Currently, there are no plans to implement such a feature. There are huge
152 concerns regarding the data privacy when it comes to storing user data in
153 your TYPO3 database permanently.
154
155
156 .. _faq-honeypt-session:
157
158 The honeypot does not work with static site caching. What can I do?
159 ===================================================================
160
161 If you want to use a static site caching - for example using the
162 staticfilecache extension - you should disable the automatic inclusion of the
163 honeypot. Read more ':ref:`here<typo3.cms.form.prototypes.\<prototypeIdentifier>.formelementsdefinition.form.renderingoptions.honeypot.enable>`'.
164
165
166 .. _faq-form-element-default-value:
167
168 How do I set a default value for my form element?
169 =================================================
170
171 Most of the form elements support setting a default value (do not mix this
172 up with the placeholder attribute). For a text field or a textarea, this is
173 quite trivial.
174
175 A little bit more thrilling is the handling for select and multi select form
176 elements. Those special elements support - beside the :yaml:`defaultValue` - a
177 :yaml:`prependOptionValue` setting. The :yaml:`defaultValue` allows you to select a
178 specific option as default. This option will be pre-selected as soon as the
179 form is loaded. In contrast, the :yaml:`prependOptionValue` allows you to define a
180 string which will be shown as the first select-option. If both settings exist,
181 the :yaml:`defaultValue` is prioritized.
182
183 Learn more ':ref:`here<typo3.cms.form.prototypes.\<prototypeIdentifier>.formelementsdefinition.\<formelementtypeidentifier>.defaultValue>`'
184 and see the forge issue `#82422 <https://forge.typo3.org/issues/82422#note-6>`.