taravel/app/Http/Requests/ApiProviderRequest.php
2024-11-13 16:26:27 +08:00

34 lines
905 B
PHP

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Http\Exceptions\HttpResponseException;
class ApiProviderRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'provider_id' => ['required', 'string', 'max:50', 'unique:api_providers,provider_id'],
'name' => ['required', 'string', 'max:255'],
'api_key' => ['required', 'string'],
'endpoint' => ['required', 'url'],
'active' => ['boolean']
];
}
protected function failedValidation(Validator $validator)
{
throw new HttpResponseException(response()->json([
'error' => '驗證失敗',
'messages' => $validator->errors()
], 422));
}
}