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.