File: /mnt/data/ghayatcom/ghayatcom-api/app/Http/Requests/DoctorDocumentsRequest.php
<?php
namespace App\Http\Requests;
use App\DoctorDocument;
use App\Library\CustomFailedValidation;
use App\User;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;
class DoctorDocumentsRequest extends CustomFailedValidation
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
$arrRules = [
'user_id' => 'required|exists:users,id',
'reg_no' => 'required',
'specilation' => 'required',
'clinic' => 'required',
];
if (isset($this->user_id)) {
$query = DoctorDocument::where('user_id', $this->user_id)->first();
if (empty($query)) {
// $arrRules['document'] = 'required|mimes:jpeg,png,pdf,doc,docx';
$arrRules['document'] = 'required';
$arrRules['document.*'] = 'mimes:jpg,jpeg,png,pdf,doc,docx';
}
}
if (isset($this->user_id)) {
$query = User::select('signature')->whereNull('signature')->where('id', $this->user_id)->count();
if (! empty($query)) {
$arrRules['signature'] = 'required|mimes:png';
}
}
return $arrRules;
}
public function messages()
{
$arrMsg = [
'user_id.required' => __('digimed_validation.form_validation_error.user_id_req'),
'user_id.exists' => __('digimed_validation.form_validation_error.user_id_is_not_exisit'),
'reg_no.required' => __('digimed_validation.form_validation_error.loop_if_req'),
'specilation.required' => __('digimed_validation.form_validation_error.loop_if_req'),
'clinic.required' => __('digimed_validation.form_validation_error.loop_if_req'),
];
if (isset($this->user_id)) {
$query = DoctorDocument::where('user_id', $this->user_id)->first();
if (empty($query)) {
$arrMsg['document.required'] = __('digimed_validation.form_validation_error.document_req');
}
}
if (isset($this->user_id)) {
$query = User::select('signature')->whereNull('signature')->where('id', $this->user_id)->count();
if (! empty($query)) {
$arrMsg['signature.required'] = __('digimed_validation.form_validation_error.signature_req');
}
}
return $arrMsg;
}
}