PHPackages                             norman-huth/nova-breack-out - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. norman-huth/nova-breack-out

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

norman-huth/nova-breack-out
===========================

Use validation rules and other data from a Laravel Nova resource.

v1.0.0(2y ago)17MITPHPPHP ^8.1

Since Nov 26Pushed 2y ago1 watchersCompare

[ Source](https://github.com/Muetze42/nova-break-out)[ Packagist](https://packagist.org/packages/norman-huth/nova-breack-out)[ Fund](https://huth.it/coffee)[ GitHub Sponsors](https://github.com/Muetze42)[ RSS](/packages/norman-huth-nova-breack-out/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (3)Used By (0)

Laravel Nova Break Out
======================

[](#laravel-nova-break-out)

Use validation rules and other data from a [Laravel Nova](https://nova.laravel.com/) resources in order to avoid duplicate content maintenance.

*Sorry for the name of the package. My creativity with names is on low level.*

Install
-------

[](#install)

```
composer require norman-huth/nova-breack-out
```

Usage
-----

[](#usage)

### Validation

[](#validation)

#### Get Creation Validation Rules From A Nova Resource

[](#get-creation-validation-rules-from-a-nova-resource)

```
    public function store(\Illuminate\Http\Request $request)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);

        $rules = $nova->getRulesForCreation(
            model: \App\Models\User::class,
            resource: \App\Nova\Resources\User::class
        );
```

#### Validate Request With Creation Rules From A Nova Resource

[](#validate-request-with-creation-rules-from-a-nova-resource)

```
    public function store(\Illuminate\Http\Request $request)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);

        $validated = $nova->validateCreationRequest(
            model: \App\Models\User::class,
            resource: \App\Nova\Resources\User::class
        );
```

#### Get Update Validation Rules From A Nova Resource

[](#get-update-validation-rules-from-a-nova-resource)

```
    public function update(\Illuminate\Http\Request $request, \App\Models\User $user)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);

        $rules = $nova->getRulesForUpdate(
            model: $user,
            resource: \App\Nova\Resources\User::class
        );
```

#### Validate Request With Update Rules From A Nova Resource

[](#validate-request-with-update-rules-from-a-nova-resource)

```
    public function update(\Illuminate\Http\Request $request, \App\Models\User $user)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);

        $validated = $nova->validateUpdateRequest(
            model: $user,
            resource: \App\Nova\Resources\User::class
        );
```

### Authorization From Nova Resource

[](#authorization-from-nova-resource)

#### ViewAny

[](#viewany)

```
    public function index(\Illuminate\Http\Request $request)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);
        $nova->authorizeToViewAny(
            model: \App\Models\User::class,
            resource: \App\Nova\Resources\User::class
        );
```

#### Create

[](#create)

```
    public function store(\Illuminate\Http\Request $request)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);
        $nova->authorizeToCreate(
            model: \App\Models\User::class,
            resource: \App\Nova\Resources\User::class
        );
```

#### View

[](#view)

```
    public function show(\Illuminate\Http\Request $request, \App\Models\User $user)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);
        $nova->authorizeToView(
            model: $user,
            resource: \App\Nova\Resources\User::class
        );
```

#### Update

[](#update)

```
    public function update(\Illuminate\Http\Request $request, \App\Models\User $user)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);
        $nova->authorizeToUpdate(
            model: $user,
            resource: \App\Nova\Resources\User::class
        );
```

#### Delete

[](#delete)

```
    public function destroy(\Illuminate\Http\Request $request, \App\Models\User $user)
    {
        $nova = new \NormanHuth\NovaBreakOut\Resource($request);
        $nova->authorizeToDelete(
            model: $user,
            resource: \App\Nova\Resources\User::class
        );
```

### More Infos From Nova Resource

[](#more-infos-from-nova-resource)

### Get the displayable label of the resource.

[](#get-the-displayable-label-of-the-resource)

```
$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->label(resource: \App\Nova\Resources\User::class);
```

### Get the displayable singular label of the resource.

[](#get-the-displayable-singular-label-of-the-resource)

```
$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->singularLabel(resource: \App\Nova\Resources\User::class);
```

### Get the value that should be displayed to represent the resource.

[](#get-the-value-that-should-be-displayed-to-represent-the-resource)

```
$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->title(resource: \App\Nova\Resources\User::class);
```

### Get the search result subtitle for the resource.

[](#get-the-search-result-subtitle-for-the-resource)

```
$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->subtitle(resource: \App\Nova\Resources\User::class);
```

### Get the logical group associated with the resource.

[](#get-the-logical-group-associated-with-the-resource)

```
$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->group(resource: \App\Nova\Resources\User::class);
```

### Get the searchable columns for the resource.

[](#get-the-searchable-columns-for-the-resource)

```
$nova = new \NormanHuth\NovaBreakOut\Resource($request);

return $nova->searchableColumns(resource: \App\Nova\Resources\User::class);
```

Todo
----

[](#todo)

- Relation rules

---

[![More Laravel Nova Packages](https://raw.githubusercontent.com/Muetze42/asset-repo/main/svg/more-laravel-nova-packages.svg)](https://huth.it/nova-packages)

[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://vshymanskyy.github.io/StandWithUkraine/)

[![Woman. Life. Freedom.](https://raw.githubusercontent.com/Muetze42/Muetze42/2033b219c6cce0cb656c34da5246434c27919bcd/files/iran-banner-big.svg)](https://linktr.ee/CurrentPetitionsFreeIran)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

899d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2579233?v=4)[Muetze](/maintainers/Muetze)[@muetze](https://github.com/muetze)

---

Top Contributors

[![Muetze42](https://avatars.githubusercontent.com/u/26193232?v=4)](https://github.com/Muetze42 "Muetze42 (1 commits)")

---

Tags

laravel-novaphpphp8

### Embed Badge

![Health badge](/badges/norman-huth-nova-breack-out/health.svg)

```
[![Health](https://phpackages.com/badges/norman-huth-nova-breack-out/health.svg)](https://phpackages.com/packages/norman-huth-nova-breack-out)
```

###  Alternatives

[webmozart/assert

Assertions to validate method input/output with nice error messages.

7.6k894.0M1.2k](/packages/webmozart-assert)[bensampo/laravel-enum

Simple, extensible and powerful enumeration implementation for Laravel.

2.0k15.9M104](/packages/bensampo-laravel-enum)[swaggest/json-schema

High definition PHP structures with JSON-schema based validation

48612.5M73](/packages/swaggest-json-schema)[stevebauman/purify

An HTML Purifier / Sanitizer for Laravel

5325.6M19](/packages/stevebauman-purify)[ashallendesign/laravel-config-validator

A package for validating your Laravel app's config.

217905.3k5](/packages/ashallendesign-laravel-config-validator)[crazybooot/base64-validation

Laravel validators for base64 encoded files

1341.9M8](/packages/crazybooot-base64-validation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
