Overview
User tags are designed for sites that have areas or features behind a login. The user:password_form
tag allows your users to change their password.
The tag will render the opening and closing <form>
HTML elements for you.
Example
A basic user password form, with validation errors.
{{ user:password_form }} {{ if errors }} <div class="bg-red-300 text-white p-2"> {{ errors }} {{ value }}<br> {{ /errors }} </div> {{ /if }} {{ if success }} <div class="bg-green-300 text-white p-2"> {{ success }}<br> </div> {{ /if }} <label>Current Password</label> <input type="password" name="current_password" /> <label>New Password</label> <input type="password" name="password" /> <label>Confirm Password</label> <input type="password" name="password_confirmation" /> <button type="submit">Save</button> {{ /user:password_form }}
<s:user:password_form> @if ($errors) <div class="bg-red-300 text-white p-2"> @foreach ($errors as $error) {{ $error }}<br> @endforeach </div> @endif @if ($success) <div class="bg-green-300 text-white p-2"> {{ $success }}<br> </div> @endif <label>Current Password</label> <input type="password" name="current_password" /> <label>New Password</label> <input type="password" name="password" /> <label>Confirm Password</label> <input type="password" name="password_confirmation" /> <button type="submit">Save</button></s:user:password_form>
Dynamic Rendering
Instead of hardcoding individual fields, you may loop through the fields
array to render fields more dynamically.
{{ fields }} <div class="p-2"> <label>{{ display }}</label> <div class="p-1">{{ field }}</div> {{ if error }} <p class="text-gray-500">{{ error }}</p> {{ /if }} </div>{{ /fields }}
<s:user:password_form> @foreach ($fields as $field) <div class="p-2"> <label>{{ $field['display'] }}</label> <div class="p-1">{!! $field['field'] !!}</div> @if ($field['error']) <p class="text-gray-500">{{ $field['error'] }}</p> @endif </div> @endforeach </s:user:password_form>
Each item in the fields
array contains type
, display
and handle
, which are configurable from the user
blueprint.
You will also find the field's old
input on unsuccessful submission, as well as an error
message when relevant.
Finally, the field
value contains a pre-rendered form input. Using this will intelligently render inputs as inputs, textareas as textareas, and snozzberries as snozzberries. You can customize these pre-rendered templates by running php artisan vendor:publish --tag=statamic-forms
, which will expose editable templates in your views/vendor/statamic/forms/fields
folder.
Parameters
redirect
Where the user should be taken after successfully saving.
error_redirect
The same as redirect
, but for failed a failed submission.
allow_request_redirect
When set to true, the redirect
and error_redirect
parameters will get overridden by redirect
and error_redirect
query parameters in the URL.
HTML Attributes
Set HTML attributes as if you were in an HTML element. For example, class="required" id="profile-form"
.
Variables
Variable | Type | Description |
---|---|---|
fields |
array |
An array of available fields for dynamic rendering. |
errors |
array |
An array of validation errors. |
error |
array |
An array of validation errors indexed by field names. Suitable for targeting fields. eg. |
old |
array |
An array of previously submitted values. |
success |
string |
A success message. |