Files
Epicnabbo-Catalogus-Updated…/Updated_Cms/app/Http/Requests/AccountSettingsFormRequest.php
T
Remco 9dfe95ff52 🆙 More fixes 🆙
2026-01-19 21:38:46 +01:00

34 lines
1.2 KiB
PHP

<?php
namespace App\Http\Requests;
use App\Rules\GoogleRecaptchaRule;
use App\Rules\WebsiteWordfilterRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use RyanChandler\LaravelCloudflareTurnstile\Rules\Turnstile;
class AccountSettingsFormRequest extends FormRequest
{
/**
* @return array<string, array<int, string|\Illuminate\Contracts\Validation\ValidationRule|\Illuminate\Contracts\Validation\InvokableRule|\Illuminate\Contracts\Validation\Rule>>
*/
public function rules(): array
{
$userId = $this->user()?->id;
return [
'username' => ['sometimes', 'string', sprintf('regex:%s', setting('username_regex')), 'min:3', 'max:25', Rule::unique('users')->ignore($userId), new WebsiteWordfilterRule],
'mail' => ['required', 'email', Rule::unique('users')->ignore($userId), new WebsiteWordfilterRule],
'motto' => ['nullable', 'string', 'max:127', new WebsiteWordfilterRule],
'g-recaptcha-response' => [new GoogleRecaptchaRule],
'cf-turnstile-response' => [app(Turnstile::class)],
];
}
public function authorize(): bool
{
return true;
}
}