Files
portal-api/app/Http/Requests/EmployeeRequest.php

39 lines
1.2 KiB
PHP

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class EmployeeRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
$employeeId = $this->route('id');
$rules = [
'firstname' => 'required|string|max:255',
'lastname' => 'required|string|max:255',
'username' => ['required', 'string', 'max:255', Rule::unique('user', 'username')->ignore($employeeId)],
'email' => ['required', 'email', 'max:255', Rule::unique('user', 'email')->ignore($employeeId)],
'role' => ['required', Rule::in(['Administrator', 'Sale', 'IT', 'Customer Service', 'Marketing'])],
'phone' => 'nullable|string|max:20',
'birthday' => 'nullable|date',
'address' => 'nullable|string|max:500',
];
if ($this->isMethod('POST')) {
$rules['password'] = 'required|string|min:8|confirmed';
} else {
$rules['password'] = 'nullable|string|min:8|confirmed';
}
return $rules;
}
}