<?php
namespace QxCMS\Modules\Client\Requests\Subject;
use Illuminate\Foundation\Http\FormRequest;
class SubjectRequest extends FormRequest
{
/**
* 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()
{
$client = auth('client')->user()->client;
$dateformat = $client->date_picker;
$field_officer_assigned = $this->input('field_officer_assigned');
$template_id = $this->input('template_id');
$principal_id = $this->input('principal_id');
return [
'name' => 'required',
'principal_id' => 'required',
'template_id' => 'required',
'field_officer_assigned' => 'required|unique:client.survey_subjects,field_officer_assigned,'.(($this->getId()) ? $this->getId():'NULL').',id,template_id,'.$template_id.',principal_id,'.$principal_id,
'editor_assigned' => 'required',
'interview_date' => 'required|date_format:'.$dateformat['php'],
//'completion_date' => 'required|date_format:'.$dateformat['php'],
];
}
public function messages()
{
return [
'name.required' => 'The <i>Subject Name</i> field is required.',
'principal_id.required' => 'The <i>Client Assignment</> field is required.',
'template_id.required' => 'The <i><em>Questionnaire Assigned</em></i> field is required.',
'field_officer_assigned.required' => 'The <i><em>Field Officer Assigned</em></i> field is required.',
'field_officer_assigned.unique' => 'This field officer is already assigned to same client and questionnaire.',
'editor_assigned.required' => 'The <i><em>Editor Assigned</em></i> field is required.',
'completion_date' => 'The <i><em>Interview Date Completion</em></i> field is required.'
];
}
public function getId()
{
return decode($this->subject);
}
}