• Час читання ~1 хв
  • 28.11.2023

Laravel Schema Rules — це пакет, який автоматично генерує базові правила валідації Laravel на основі схеми таблиці бази даних. Ви можете використовувати цей пакет як відправну точку для швидкого створення шаблонних правил та оптимізації за потреби.

Враховуючи наступну схему (з README) для вашої таблиці:Ви можете виконати команду Artisan schema:generate-rules для створення правил перевірки:

Schema::create('persons', function (Blueprint $table) {
    $table->id();
    $table->string('first_name', 100);
    $table->string('last_name', 100);
    $table->string('email');
    $table->foreignId('address_id')->constrained();
    $table->text('bio')->nullable();
    $table->enum('gender', ['m', 'f', 'd']);
    $table->date('birth');
    $table->year('graduated');
    $table->float('body_size');
    $table->unsignedTinyInteger('children_count')->nullable();
    $table->integer('account_balance');
    $table->unsignedInteger('net_income');
    $table->boolean('send_newsletter')->nullable();
});

$ php artisan schema:generate-rules persons

[
    'first_name' => ['required', 'string', 'min:1', 'max:100'],
    'last_name' => ['required', 'string', 'min:1', 'max:100'],
    'email' => ['required', 'string', 'min:1', 'max:255'],
    'address_id' => ['required', 'exists:addresses,id'],
    'bio' => ['nullable', 'string', 'min:1'],
    'gender' => ['required', 'string', 'in:m,f,d'],
    'birth' => ['required', 'date'],
    'graduated' => ['required', 'integer', 'min:1901', 'max:2155'],
    'body_size' => ['required', 'numeric'],
    'children_count' => ['nullable', 'integer', 'min:0', 'max:255'],
    'account_balance' => ['required', 'integer', 'min:-2147483648', 'max:2147483647'],
    'net_income' => ['required', 'integer', 'min:0', 'max:4294967295'],
    'send_newsletter' => ['nullable', 'boolean']
]

Ви також можете орієнтуватися на певні стовпці, пропускати стовпці та навіть генерувати клас запиту форми.

Існує також онлайн-версія цього пакету, яку ви можете використовувати для експериментів з цим пакунком або використовувати його для ручного взяття схеми та перетворення її на масив правил валідації:

Відвідайте validationforlaravel.com, щоб випробувати його!

Ви можете дізнатися більше про цей пакунок, отримати повні інструкції зі встановлення та переглянути вихідний код на GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297