notka #2 Formularze w Laravel 5.x

Tworzenie API ma to do siebie, że nie trzeba martwić się o front, wystarczy w backendzie stworzyć odpowiednie funkcje i v`oila.

Kolejną funkcjonalnością było dodanie formularzy do zarządzania danymi.

W Laravel tworzenie jest formularzy jest bardzo proste, wystarczy skorzystać z klasy Form (albo można to nazwać fasadą Form, ponieważ wszystkie metody znajdują się w klasie FormBuilder) np:

Form::open($options);

.. dane do formularza

Form::close();

$options to tablica z danymi do formularza, np.
['method'=> 'PUT', 'action' => ['ModelController@update', $id], 'class'=> 'form-inline']

Fasada Form zawiera w sobie funkcje, które pomagają w tworzeniu formularzy np:

label: Form::label('nazwa_pola', 'nazwa wyświetlana') ;
input: Form::text('nazwa_pola', 'wartość domyślna', $opcje);
pod $opcje można wstawić tablicę z ustawieniami naszego inputa np [’class' => 'form-control']

Wpis ten, na początku, miał dotyczyć checkboxów w formularzu,tworzenie checkboxa jest trywialne ;):
Form::checkbox('nazwa_pola', 'wartość');
schody zaczynają się, kiedy korzystamy z magii Laravela i dane zapisujemy na podstawie dostarczonej tablicy Request $request->all(), jak się orientujesz bądź nie, odznaczony checkbox nie jest wysyłany w poście do funkcji, a to oznacza, że w naszej tablicy $_POST czy obiekcie $request nie będzie wartości dla 'nazwa_pola', przeglądarka nie wyśle żadnej wartości dla tego pola, a to oznacza, że Laravel nie zaktualizuje pola w bazie danych.

Rozwiązaniem takiego zachowania jest dodanie pola hidden z podobną nazwą _PRZED_ checkboxem, czyli:
Form::hidden('nazwa_pola', 'domyślna_wartosc');
Form::checkbox('nazwa_pola', 'aktywna_wartosc');

Dzięki temu, bez względu na to, czy checkbox będzie zaznaczony czy odznaczony formularz zawsze wyśle pełną tablicę danych, a my nie musimy się martwić o sprawdzanie, czy dane pole istnieje, czy nie.

Ok, ale skoro zmieniłem tytuł notki na formularze w Laravel to opisze coś więcej, przy okazji się czegoś nauczę :).

Poza standardowymi inputami typu text, text_area czy hidden, są też radio, email, url, file, select czy password – pełna gama funkcji – więcej o nich można poczytać na stronie https://laravelcollective.com/docs/5.2/html

Rafath Khan

Tu powinien być pean na moją cześć, jaki to wspaniały jestem i jakimi niezwykłymi problemami się zajmuję, ale prawda jest taka, że jak każdy człowiek - mam swoje wady i może jakieś zalety. Są momenty, kiedy mam odpowiednią ilość zasobów psychoenergetycznych i mogę przenosić góry, a są niestety i takie momenty, kiedy mi się nawet z łóżka wstać nie chce... nie może tak źle nie jest, ale chętnie bym sobie pospał dłużej... Niemniej jednak, gdy uda się pokonać siebie - satysfakcja jest, ale potem przychodzą kolejne rzeczy, z którymi trzeba się zmierzyć... a na nie, niestety, energii może nie starczyć i tu właśnie wkracza tzw samodyscyplina - powinieneś usiąść i zrobić to coś, a nie siedzieć na kanapie i zajadać się słodyczami i oglądać jakiś nieciekawy serial czy film dla spalenia swojej najważniejszej waluty świata... czasu, którego nie da się odzyskać. I właśnie o tej samodyscyplinie traktować będę na tym blogu + kilka innych tematów, które są mi potrzebne do pracy

Może Ci się również spodoba