Skip to content
Emeka Mbah edited this page May 21, 2023 · 2 revisions

FieldBag Alert

The FieldBag alert provides some fluent methods for displaying multiple messages for form fields.

Features

The FieldBag alert has lots of helpful methods that makes it easy to use

FieldBag Errors

This feature enables you to display validation errors, it accepts validator instance

Example:

In the application

   $validator = validator(
      [
         'username' => '', 
         'password' => 'pass'
      ], 
      [ 
         'username' => 'required', 
         'password' => 'required|min:6'
      ]
   );
   
   Alert::fieldBag()
   ->tag('login')
   ->errors($validator)
   ->error()
   ->flash();

   or

   Alert::fieldBag($validator)
   ->tag('login')
   ->error()
   ->flash();

In the blade

<div class="col-lg-12 mb4">
  <div class="card mb-4">
    <div class="card-body">

      <form class="row g-3 needs-validation" novalidate>
        <div class="col-md-6 position-relative">
          <label for="username" class="form-label">Username</label>
          <input type="text" class="form-control" id="username" value="" required>
          <x-alert-field name="username" tag="login" />
        </div>
        <div class="col-md-6 position-relative">
          <label for="password" class="form-label">Password</label>
          <input type="password" class="form-control" id="password" value="" required>
          <x-alert-field name="password" tag="login" />
        </div>
        <div class="col-12">
          <button class="btn btn-primary" type="submit">Update</button>
        </div>
      </form>
      
    </div>
  </div>
</div>

Result image

FieldBag Messages

You can also send multiple messages to the fields through the messages method

In the application

   use Illuminate\Support\MessageBag;

   $messages = new MessageBag([
     'username' => 'The username looks good',
     'password' => "The password look cool"
   ]);

   Alert::fieldBag()
   ->messages($messages)
   ->tag('login')
   ->success()
   ->flash();

   or 

  Alert::fieldBag($messages)
   ->tag('login')
   ->success()
   ->flash();

Result image

FieldBag level

The field level is the color of the field message. The available levels are:

Alert::fieldBag(...)->primary();
Alert::fieldBag(...)->secondary();
Alert::fieldBag(...)->success();
Alert::fieldBag(...)->info();
Alert::fieldBag(...)->error();
Alert::fieldBag(...)->warning();
Alert::fieldBag(...)->light();
Alert::fieldBag(...)->dark();
Clone this wiki locally