| Current Path : /home/users/unlimited/www/admin.priyotama.com/app/Http/Requests/Admin/ |
| Current File : /home/users/unlimited/www/admin.priyotama.com/app/Http/Requests/Admin/EmployeeUpdateRequest.php |
<?php
namespace App\Http\Requests\Admin;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Carbon;
use Illuminate\Validation\Rules\Password;
/**
* @property int id
* @property string|null f_name
* @property string|null l_name
* @property string|null phone
* @property string email
* @property string|null image
* @property string|null password
* @property string|null remember_token
* @property Carbon|null created_at
* @property Carbon|null updated_at
* @property int|null role_id
* @property int|null zone_id
* @property bool is_logged_in
*/
class EmployeeUpdateRequest 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 [
'f_name' => 'required|max:100',
'l_name' => 'nullable|max:100',
'role_id' => 'required|not_in:1',
'email' => 'required|unique:admins,email,'.$this->id,
'phone' => 'required|regex:/^([0-9\s\-\+\(\)]*)$/|min:10|max:20|unique:admins,phone,'.$this->id,
'password' => ['nullable', Password::min(8)->mixedCase()->letters()->numbers()->symbols()->uncompromised()],
];
}
public function messages(): array
{
return [
'f_name.required' => translate('messages.first_name_is_required'),
'role_id.not_in' => translate('messages.unauthorized'),
'password.required' => translate('The password is required'),
'password.min_length' => translate('The password must be at least :min characters long'),
'password.mixed' => translate('The password must contain both uppercase and lowercase letters'),
'password.letters' => translate('The password must contain letters'),
'password.numbers' => translate('The password must contain numbers'),
'password.symbols' => translate('The password must contain symbols'),
'password.uncompromised' => translate('The password is compromised. Please choose a different one'),
];
}
}