energon7 / nova-items-field
Nova field to handle array columns
Installs: 379
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:Vue
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2025-02-27 02:04:24 UTC
README
Laravel Nova array items field with sorting, validation & many display options
Installation
composer require dillingham/nova-items-field
Usage
use NovaItemsField\Items;
function fields() { return [ Items::make('Emails'), ] }
and be sure to cast the property as an array on your eloquent model
public $casts = [ 'emails' => 'array' ];
Validation
Use Laravel's built in array validation
Items::make('Emails')->rules([ 'emails.*' => 'email|min:10', ]),
Manually setting the attribute may be needed in some cases.
Items::make('Long Text', 'attribute')->rules([ 'attribute.*' => 'email|min:10', ]),
Array processing
Use the array to perform other actions by making an observer
function saving($user) { foreach($user->emails as $email) { // } }
Additional options
function | description | default |
---|---|---|
->max(number) |
limit number of items allowed | false |
->draggable() |
turn on drag/drop sorting | false |
->fullWidth() |
increase the width of field area | false |
->maxHeight(pixel) |
limit the height of the list | false |
->listFirst() |
move add new to the bottom | false |
->inputType(text) |
text, date, etc | "text" |
->placeholder($value) |
the new item input text | "Add a new item" |
->deleteButtonValue($value) |
value for delete button | "x" |
->createButtonValue($value) |
value for create button | "Add" |
->hideCreateButton() |
hide the "add" button | false |