承接 proghasan/blade-form-validator 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

proghasan/blade-form-validator

最新稳定版本:v1.0.1

Composer 安装命令:

composer require proghasan/blade-form-validator

包简介

Validate Laravel forms, from Blade files

README 文档

README

A Laravel package for form validation using validation rules defined directly inside Blade form inputs via a validated attribute.
This package extracts validation rules from Blade views automatically, simplifying controller validation logic.

Features

  • Define validation rules inside your Blade form inputs using validated attributes.
  • Use a custom FormRequest class that automatically extracts rules from your Blade form.
  • Supports nested input names (name="user[email]") and converts them to dot notation (user.email).
  • Configurable default form view or automatic form view detection from route names.
  • Easy to extend by subclassing the base BladeFormValidateRequest.

Installation

Require the package via Composer:

composer require proghasan/blade-form-validator

Usage

1. Defining Validation Rules in Blade Views

Add validated attributes to your form inputs:

<form method="POST" action="{{ route('register.form') }}">
    @csrf

    <input 
        type="text"
        name="name"
        validated="required|string|max:255" 
    />

    <input
        type="email"
        name="email"
        validated="required|email|unique:users,email"
    />

    <input 
        type="password" 
        name="password" 
        validated="required|string|min:8|confirmed" 
        placeholder="Enter Password"
    />

    <input 
        type="password" 
        name="password_confirmation" 
        validated="required|string|min:8" 
        placeholder="Confirm Password"
    />
    <button type="submit">Register</button>
</form>

2. Using the built-in FormRequest

Use the provided FormRequest class in your controller methods to validate input automatically.

use Proghasan\BladeFormValidator\Requests\BladeFormValidateRequest;

class RegisterController extends Controller
{
    public function store(BladeFormValidateRequest $request)
    {
        // Validation is automatically performed based on your form's Blade view rules

        $validated = $request->validated();

        // Proceed with validated data...
    }
}

3. Route Default formView Syntax

If you need to explicitly specify a form view for a route, use route defaults:

Route::post('/register', [RegisterController::class, 'store'])
    ->name('register.form')
    ->defaults('formView', 'forms.register');

4. Customizing the Form View

By default, the package tries to find the Blade view from the current route name, converting dots to slashes. If your route or view folder naming differs, set the $formView property in a subclassed FormRequest:

use Proghasan\BladeFormValidator\Requests\BladeFormValidateRequest;

class RegisterFormRequest extends BladeFormValidateRequest
{
    // Specify the form view explicitly
    protected string $formView = 'forms.register';
}

Then use your custom request in the controller:

public function store(RegisterFormRequest $request)
{
    $validated = $request->validated();
    // ...
}

How It Works

  • The package renders the specified Blade form view.
  • It parses all <input>, <textarea>, and <select> elements to extract name and validated attributes.
  • Converts array-style input names like user[email] to dot notation (user.email).
  • Uses Laravel’s validation engine with the extracted rules.

License

This package is open-sourced software licensed under the MIT license.

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-06-05