Files
backend/app/Http/Requests/V3/Dashboard/UserManagement/UpdateRequest.php

55 lines
1.8 KiB
PHP

<?php
namespace App\Http\Requests\V3\Dashboard\UserManagement;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class UpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'province_id' => 'required|exists:provinces,id',
'edarate_ostani_id' => [
'nullable',
'integer',
Rule::exists('edarate_ostani', 'id'),
Rule::prohibitedIf(fn () => filled($this->input('edarate_shahri_id'))),
Rule::requiredIf(fn () => blank($this->input('edarate_shahri_id'))),
],
'edarate_shahri_id' => [
'nullable',
'integer',
Rule::exists('edarate_shahri', 'id'),
Rule::prohibitedIf(fn () => filled($this->input('edarate_ostani_id'))),
Rule::requiredIf(fn () => blank($this->input('edarate_ostani_id'))),
],
'city_id' => 'exists:cities,id',
'username' => [Rule::unique('users', 'username')->ignore($this->user->id)],
'national_code' => ['required', Rule::unique('users', 'national_code')->ignore($this->user->id)],
'first_name' => 'required|string',
'last_name' => 'required|string',
'position' => 'string',
'mobile' => 'required|string',
'degree' => 'string',
'major' => 'string',
'avatar' => 'required|file|mimes:pdf,jpg,jpeg,png',
];
}
}