diff --git a/app/Http/Controllers/FileController.php b/app/Http/Controllers/FileController.php index f573f3a..49b37ce 100644 --- a/app/Http/Controllers/FileController.php +++ b/app/Http/Controllers/FileController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Http\Requests\FileRequest; use App\Http\Requests\StorefileRequest; use App\Http\Requests\UpdatefileRequest; use App\Models\file; @@ -11,7 +12,7 @@ use Illuminate\Support\Facades\Storage; class FileController extends Controller { - public function datasubmit(Request $request): RedirectResponse + public function datasubmit(FileRequest $request): RedirectResponse { //upload file in public folder //dd($reqest->all()); @@ -19,8 +20,14 @@ class FileController extends Controller //$request->filename->move(public_path('uploads'), $filename); //dd($request->all()); - $filename = 'new_file.'.$request->filename->extension(); - $request->filename->storeAs('file_temp', $filename); + //$request->validate([ + // 'filename'=>'required' + //]); + + $filename = 'new_file.'.$request->file("filetoinsert")->getClientOriginalExtension(); + $request->file("filetoinsert")->storeAs('file_temp', $filename); + + //$request->filename->storeAs('file_temp', $filename); return redirect('/words'); } diff --git a/app/Http/Controllers/WordsController.php b/app/Http/Controllers/WordsController.php index 0f082f2..35a89d4 100644 --- a/app/Http/Controllers/WordsController.php +++ b/app/Http/Controllers/WordsController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Http\Requests\WordRequest; use App\Models\Word; use Illuminate\Http\RedirectResponse; @@ -18,7 +19,7 @@ class WordsController extends Controller /** * Store a new Word in the database. */ - public function store(Request $request): RedirectResponse + public function store(WordRequest $request): RedirectResponse { $word = new Word; $word->name = $request->name; @@ -44,7 +45,7 @@ class WordsController extends Controller /** * Update an existing Word in the database. */ - public function update(Request $request, $id): RedirectResponse + public function update(WordRequest $request, $id): RedirectResponse { $data = Word::find($id); diff --git a/app/Http/Requests/FileRequest.php b/app/Http/Requests/FileRequest.php new file mode 100644 index 0000000..8fec1d9 --- /dev/null +++ b/app/Http/Requests/FileRequest.php @@ -0,0 +1,42 @@ +|string> + */ + public function rules(): array + { + return [ + 'filetoinsert' => ['required', 'mimes:txt']//, File::types(['csv'])] + ]; + } + + public function messages(): array + { + return [ + 'filetoinsert.required' => 'ERROR: csv file not selected!', + 'filetoinsert.mimes'=> "ERRORE: select only csv format" + ]; + } + + /** + * Determine if the user is authorized to make this request. + */ + public function authorize(): bool + { + return true; + } +} + + diff --git a/app/Http/Requests/WordRequest.php b/app/Http/Requests/WordRequest.php index 53751cd..de4c6c0 100644 --- a/app/Http/Requests/WordRequest.php +++ b/app/Http/Requests/WordRequest.php @@ -10,10 +10,19 @@ class WordRequest extends FormRequest { return [ 'name' => ['required'], - 'translation' => ['required'], + 'translation' => ['required', 'unique:words,translation'], ]; } + public function messages(): array + { + return [ + 'name.required' => 'Insert italian Word', + 'translation.required' => 'Insert dialect Word', + ]; + } + + public function authorize(): bool { return true; diff --git a/resources/views/components/input-error.blade.php b/resources/views/components/input-error.blade.php index a8a816b..84caf1c 100644 --- a/resources/views/components/input-error.blade.php +++ b/resources/views/components/input-error.blade.php @@ -1,7 +1,7 @@ @props(['messages']) @if ($messages) -