. */ namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Auth; class BanUserRequest extends FormRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return Auth::user()->hasRole('admin'); } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'reason' => 'required|string', 'suspensionType' => 'required|string', 'duration' => 'required_if:suspensionType,on|nullable|integer', ]; } public function messages() { return [ 'duration.required_if' => __('You must provide a duration if the suspension is temporary.') ]; } }