Validation, service form improvements

This commit is contained in:
2025-04-08 22:33:05 +01:00
parent 628d6a14ed
commit d924d418c7
4 changed files with 164 additions and 22 deletions

View File

@@ -2,16 +2,36 @@
namespace App\Http\Controllers;
use App\Enums\ServiceCategory;
use App\Enums\ServiceType;
use App\Models\Server;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
class ServiceController extends Controller
{
public function create(Request $request)
{
$server = $request->route('server');
$server = Server::findOrFail($request->route('server'));
return inertia('services/Create', [
'server' => $server,
'services' => config('keystone.services'),
]);
}
public function store(Request $request)
{
// dd($request->all());
$request->validate([
'name' => ['required', 'string', 'max:255'],
'category' => ['required', Rule::enum(ServiceCategory::class)],
'type' => ['required', Rule::enum(ServiceType::class)],
'version' => ['required', 'string', function ($key, $value, $fail) use ($request) {
if (!isset(config('keystone.services')[$request->category][$request->type]['versions'][$value])) {
$fail('The selected version is invalid.');
}
}],
]);
}
}