Radical Design Course by Jack McDade

From the creator of Statamic

Learn how to make your websites standout and be remembered.

For a software dev like me who has no idea how to create a cute hand-drawn dashed line, this course just 100% works.

— Ira Zayats, Developer

User:Reset_Password_Form Tag

This tag is used to to set a new password after a user has received the reset link from the "forgot my password" form.

Overview

After a user has put their email address into the user:forgot_password_form, they'll arrive here to reset their password. This is the form used to create a new password. That's really all there is to it.

Example

{{ user:reset_password_form }}
 
{{ if success }}
 
<p class="alert alert-success">Password has been reset.</p>
 
{{ elseif url_invalid }}
 
<p class="alert alert-danger">This reset URL is invalid.</p>
 
{{ else }}
 
{{ if errors }}
<div class="alert alert-danger">
{{ errors }}
{{ value }}<br>
{{ /errors }}
</div>
{{ /if }}
 
<label>E-Mail</label>
<input type="email" name="email" />
 
<label>Password</label>
<input type="password" name="password" />
 
<label>Password Confirmation</label>
<input type="password" name="password_confirmation" />
 
<button>Submit</button>
 
{{ /if }}
 
{{ /user:reset_password_form }}
<s:user:reset_password_form>
@if ($success)
<p class="alert alert-success">Password has been reset.</p>
@elseif ($url_invalid)
<p class="alert alert-danger">This reset URL is invalid.</p>
@else
 
@if ($errors)
<div class="alert alert-danger">
@foreach ($errors as $error)
{{ $error }}<br>
@endforeach
</div>
@endif
 
<label>E-Mail</label>
<input type="email" name="email" />
 
<label>Password</label>
<input type="password" name="password" />
 
<label>Password Confirmation</label>
<input type="password" name="password_confirmation" />
 
<button>Submit</button>
@endif
</s:user:reset_password_form>

Arriving at this URL

This URL needs to have the appropriate token query parameter (e.g. /some/url?token=the-generated-token-goes-here)

Visiting the URL containing this form directly will set a url_invalid variable. You can use this variable to check if they've actually arrived here through the password reset mail. This variable just checks whether there is a token query parameter available in the URL. This token will then be sent along with the email address and new password they fill out in an attempt to reset their password. If the token is incorrect, a validation error will be shown after submitting the form.

The reset password mail which contains the right token may be sent by using a user:forgot_password_form tag.

Parameters

redirect

string

The URL the user will be taken after the form is successfully submitted. Leaving this blank will keep the user on the same page.

error_redirect

string

The same as redirect, but for failed validation errors.

Variables

Variable Type Description

success

boolean

This will be true if the form has been submitted successfully. If you don't use the redirect parameter, you can keep your users on the same page and show a success message.

url_invalid

boolean

This will be true if the code query parameter is missing/incorrect, or if the user query parameter is invalid.

errors

array

An array of validation errors.

Docs feedback

Submit improvements, related content, or suggestions through Github.

Betterify this page →