magdicom/nova-visible-password

Laravel Nova package to toggle visibility of password field.

v1.0.1 2022-11-17 01:32 UTC

This package is auto-updated.

Last update: 2024-11-08 01:37:26 UTC


README

A Laravel Nova Toggleable Password Field

Latest Version on Github Total Downloads

In Action!

A Laravel Nova password field with a visibility toggle, its behaviour typical as the built-in password field, but with added features that you may find useful in certain use cases.

Features:

  • it can safely replace the built-in password field.
  • Enable the toggle button in index and/or detail.
  • Disable the toggle button in forms.
  • Render the field with data.
  • Disable data encryption/hash.
  1. Requirements
  2. Installation
  3. Usage
    1. Basic usage
    2. Disable data encryption (Hash)
    3. Populate with data
    4. Disable toggle button on forms
    5. Visible on resource index
    6. Visible on resource detail
  4. License

Requirements

  • php: ^8
  • laravel/nova: ^4

Installation

You can install the package in to a Laravel app that uses Nova via composer:

composer require magdicom/nova-visible-password

Usage

Basic Usage

Basic Usage

Using the field is simple, just like any other Nova built-in field.

// in app/Nova/Resources/User.php

use Magdicom\NovaVisiblePassword\VisiblePassword;

class User extends Resource
{
    
    public function fields(Request $request)
    {
       return [
         VisiblePassword::make('Password')
      ];
    }
 }

Disable Data Encryption

The default behaviour of the password field is to encrypt the data when saving it using Laravel Hash class, to disable this functionality you simply need to call the hashOnSave method which accepts a boolean or callback:

VisiblePassword::make('Password')->hashOnSave(false),

Populate Field With Data

Normally password fields would populate/displayed empty, but in some cases you may need these data to be present, use the withValue method which accepts a boolean or callback:

VisiblePassword::make('Password')->withValue(true),

Disable Toggle Button On Forms

You can disable the toggle button on create/update forms per field using visibleOnForms method:

VisiblePassword::make('Password')
    ->visibleOnForms(function(){
        // your logic here
        return false;
    }),
  • The methods visibleOnForms, visibleOnIndex and visibleOnDetail accepts boolean value or a callback.

Enable Toggle Button On Index

Optionally you can enable the toggle button on resource index page:

VisiblePassword::make('Password')->visibleOnIndex(),

Visible On Index

Enable Toggle Button On Detail

Also you can enable the toggle button on resource detail page:

VisiblePassword::make('Password')->visibleOnDetail(),

Visible On Detail

License

The MIT License (MIT). Please see License File for more information.