Create
Creates the opening <form>
element.
Example usage
{{ form.create() }}
Options
Option | Type | Description |
---|---|---|
action | string | URL to post to, will submit to self if empty |
class | string | A space separated list of class names |
enctype | string | How the form-data should be encoded (requires method = POST) |
id | string | A unique identifier, if required |
name | string | The name of the form |
nonce | string | Random string used to prevent CSRF, adds a hidden nonce input after <form> |
method | string | The HTTP method to be used to submit the form |
data-* | string | Data attributes, eg: 'data-foo': 'bar' |
Enctype
The enctype
attribute will be set to application/x-www-form-urlencoded
by
default, unless you’re using a method
other than POST
.
Example
{{ form.create() }}
<form method="POST" enctype="application/x-www-form-urlencoded" class="form">
Using PUT
If you specify 'method': 'PUT'
then a hidden <input name="_method" value="PUT" />
will be created automatically after the <form>
element, and the method
attribute on the form
element will be set to POST
.
Example
{{
form.create({
'method': 'PUT'
})
}}
<form method="POST" enctype="application/x-www-form-urlencoded" class="form">
<input name="_method" value="PUT" type="hidden" />
CSRF protection
Supply a nonce
and it will be added as a hidden input after the opening <form>
element.
Example
{{
form.create({
'nonce': 'D2A619A309DCE1BEF50F01F08EB764B42D9B36BF8128A8D303FD6DCF91E5FDD6'
})
}}
<form method="POST" enctype="application/x-www-form-urlencoded" class="form">
<input name="nonce" value="D2A619A309DCE1BEF50F01F08EB764B42D9B36BF8128A8D303FD6DCF91E5FDD6" type="hidden" />