• Время чтения ~1 мин
  • 28.11.2023

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

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

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