DEV Community

Ostap Brehin
Ostap Brehin

Posted on β€’ Edited on

5 1

Fortify: How to disable password confirmation field (Jetstream)

Jetstream

Solution

Add this method to app/Actions/Fortify/CreateNewUser.php file.



use Illuminate\Validation\Rules\Password;

// ...

protected function passwordRules()
{
    return ['required', 'string', Password::default()];
}


Enter fullscreen mode Exit fullscreen mode

If you are using Jetstream, you should also remove these line in resources/views/auth/register.blade.php



<div class="mt-4">
    <x-jet-label for="password_confirmation" value="{{ __('Confirm Password') }}" />
    <x-jet-input id="password_confirmation" class="block mt-1 w-full" type="password" name="password_confirmation" required autocomplete="new-password" />
</div>


Enter fullscreen mode Exit fullscreen mode

Explanation

Fortify has an action class which is responsible for user creation.
You can find it at app/Actions/Fortify/CreateNewUser.php.

You can see the line:



'password' => $this->passwordRules(),


Enter fullscreen mode Exit fullscreen mode

Under hood it uses passwordRules method from PasswordValidationRules trait. That method returns array with confirmed element:



return ['required', 'string', Password::default(), 'confirmed'];


Enter fullscreen mode Exit fullscreen mode

confirmed is a rule responsible for email confirmation, so we made our own passwordRules method which doesn't has confirmed rule.

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (3)

Collapse
 
neskodi profile image
Sergio Neskodi β€’

Also probably worth mentioning that you have to import Laravel\Fortify\Rules\Password; into your Action.

Collapse
 
neskodi profile image
Sergio Neskodi β€’

Thank you for taking time to put this out. This was useful.

Collapse
 
ostap profile image
Ostap Brehin β€’

Glad you liked it!

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free