File: /var/www/ipsremont-demo/app/Http/Requests/Request.php
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
/**
* Class Request
*
* @package App\Http\Requests
*/
abstract class Request extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize(): bool
{
return true;
}
/**
* @param null $keys
*
* @return array|mixed
*/
public function all($keys = null)
{
$result = parent::all();
if (isset($result['_token'])) {
unset($result['_token']);
}
return $result;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
abstract public function rules(): array;
public function isRequired($field)
{
$rules = $this->rules();
if (!isset($rules[$field])) {
return false;
}
return in_array('required', $rules[$field]);
}
public function dateFromJs($value)
{
$value = explode('.', $value);
if (count($value) == 3) {
return $value[2] . '-' . $value[1] . '-' . $value[0];
}
return null;
}
public function dateFromRangeJs($value)
{
$value = explode(' / ', $value);
if (count($value) == 2) {
$dateStart = $this->dateFromJs($value[0]);
$dateEnd = $this->dateFromJs($value[1]);
return ['start' => $dateStart, 'end' => $dateEnd];
}
return ['start' => null, 'end' => null];
}
public function numberToInt($value)
{
if (empty($value)) {
return $value;
}
$value = ltrim(str_replace("#", "", $value), '0');
return (int) $value;
}
}