DEPRECATION WARNING
This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
Configuration¶
The extension provides two different post processors which can be configured.
Note
Post processors are executed in order.
It's importent to use HashInput
before DbInsert
if you want to insert hashed values like
passwords!
WebVision\WvFormDbInsert\Form\PostProcessor\DbInsert¶
This post processor will insert the data as is into the database.
You have to configure the tableName
. That's the name of the table, as used in
TCA, where data should be written to.
In addition, you can define multiple columns
as key-value pairs that will be added to the form
input. This allows you to define the storage pid
or hide new records.
Example:
2 = WebVision\WvFormDbInsert\Form\PostProcessor\DbInsert
2 {
tableName = fe_users
columns {
pid = 55
disable = 1
}
}
WebVision\WvFormDbInsert\Form\PostProcessor\HashInput¶
This post processor will hash configured input by using TYPO3 Core API.
The only possible configuration is fields
, which is a comma separated list of field names which
should be hashed.
The TYPO3 Core API t3api:TYPO3\CMS\Saltedpasswords\Utility\SaltedPasswordsUtility::getDefaultSaltingHashingMethod is used.
Example:
1 = WebVision\WvFormDbInsert\Form\PostProcessor\HashInput
1 {
fields = password
}
Full example¶
A full example for user registration might look like:
method = post
prefix = tx_form
confirmation = 1
postProcessor {
1 = WebVision\WvFormDbInsert\Form\PostProcessor\HashInput
1 {
fields = password
}
2 = WebVision\WvFormDbInsert\Form\PostProcessor\DbInsert
2 {
tableName = fe_users
columns {
pid = 55
disable = 1
}
}
4 = mail
4 {
recipientEmail = testing@daniel-siepmann.de
senderEmail = website@daniel-siepmann.de
subject = New Registration
messages.success = Your registration will be checked. You receive another mail once you are approved.
}
}
10 = TEXTLINE
10 {
type = text
name = company
required = required
label {
value = Company
}
}
20 = SELECT
20 {
name = title
required = required
size = 1
label {
value = Title
}
10 = OPTION
10 {
text = Mr.
value = mr
}
20 = OPTION
20 {
text = Mrs.
value = mrs
}
}
30 = TEXTLINE
30 {
type = text
name = first_name
required = required
label {
value = Name
}
}
40 = TEXTLINE
40 {
type = text
name = last_name
required = required
label {
value = Surname
}
}
50 = TEXTLINE
50 {
type = text
name = city
required = required
label {
value = City
}
}
60 = TEXTLINE
60 {
type = text
name = country
required = required
label {
value = Country
}
}
70 = TEXTLINE
70 {
type = text
name = telephone
required = required
label {
value = Phone
}
}
80 = TEXTLINE
80 {
type = email
name = username
required = required
label {
value = Email
}
}
90 = PASSWORD
90 {
type = password
autocomplete = off
name = password
required = required
label {
value = Passwort
}
}
100 = SUBMIT
100 {
type = submit
name = 10
value = Register
}
rules {
1 = required
1 {
showMessage = 1
message = *
error = This field is required
element = company
}
2 = required
2 {
showMessage = 1
message = *
error = This field is required
element = title
}
3 = required
3 {
showMessage = 1
message = *
error = This field is required
element = first_name
}
4 = required
4 {
showMessage = 1
message = *
error = This field is required
element = last_name
}
5 = required
5 {
showMessage = 1
message = *
error = Dies ist ein Pflichtfeld.
element = city
}
6 = required
6 {
showMessage = 1
message = *
error = This field is required
element = country
}
7 = required
7 {
showMessage = 1
message = *
error = Dies ist ein Pflichtfeld.
element = telephone
}
8 = required
8 {
showMessage = 1
message = *
error = This field is required
element = username
}
9 = email
9 {
showMessage =
message = name@domain.de
error = Please provide a valid E-Mail.
element = username
}
10 = regexp
10 {
showMessage = 1
message =
error = Min. 1 Upper- & lowercase, 1 digit 1 specialchar ($_=@$!%*?&)
expression = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$_=@$!%*?&])[A-Za-z\d$_=@$!%*?&]{8,}/
element = password
}
11 = required
11 {
showMessage = 1
message = *
error = This field is required
element = password
}
}