Praca z formularzami

Dzięki temu wpisu nauczymy się jak budować model do obsługi danych pobieranych od użytkownika, dokonamy walidacji wprowadzanych danych oraz stworzymy widoki dla naszych formularzy w HTML.

Tworzenie modeli

Dane wymagane od użytkownika będą reprezentowane przez klasę modelu EntryForm, jak pokazano poniżej i zapisane w plikach models/EntryForm.php

 

Klasa ta jest rozszerzeniem yii\base\Model, klasy bazowej dostarczanej przez Yii, powszechnie używanej do reprezentowania danych z formularzy. Ważna uwaga:  yii\base\Model jest używana jako klasa rodzica dla klas niezwiązanych z tabelami baz danych. Natomiast klasa yii\db\ActiveRecord jest używana jako klasa rodzica dla klas modeli służących do łączenia z tabelami bazy danych.

 

EntryForm posiada dwa elementy name oraz email, które zawierają dane pobrane od użytkownika. Zwykle EntryForm zawiera również metodę o nazwie rules(), ktora  zwraca zasady sprawdzania danych wprowadzanych przez użytkownika. W naszym przypadku powyżej zostały zadeklarowane zasady mówiące, że zarówno pole name, jak i email są obowiązkowe oraz pole email sprawdzane jest pod względem poprawności składniowej.

Jeśli posiadamy dane wprowadzone przez użytkownika musimy wywołać validate() w celu uruchomienia procedury poprawności danych. Błąd zachodzący podczas sprawdzania poprawności danych ustawi właściwość hasErrors na wartość true i dzięki temu dowiemy się jakie błędy wystąpiły podczas sprawdzania poprawności danych.

 

 

Tworzenie kontrolera

Następnie należy utworzyć akcję wprowadzaną w kontrolerze witryny, która będzie używać nowego modelu.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *