e7fbdaaa66
BLUE-3: Validation is now performed on the file path selected. Tweaks to the storage locations form to display validation errors against the correct fields.
52 lines
1.2 KiB
PHP
52 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests;
|
|
|
|
use App\Storage;
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
class StoreStorageRequest 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()
|
|
{
|
|
switch ($this->method())
|
|
{
|
|
case 'POST':
|
|
$result = [
|
|
'name' => 'required|unique:storages|max:255',
|
|
'source' => 'required|max:255',
|
|
];
|
|
|
|
if ($this->get('source') == 'LocalFilesystemSource')
|
|
{
|
|
$result['location'] = 'sometimes|required|is_dir|dir_empty|is_writeable';
|
|
}
|
|
|
|
return $result;
|
|
|
|
case 'PATCH':
|
|
case 'PUT':
|
|
$storageId = intval($this->segment(3));
|
|
|
|
return [
|
|
'name' => 'required|max:255|unique:storages,name,' . $storageId
|
|
];
|
|
}
|
|
|
|
}
|
|
} |