Laravel #4

LARAVEL #4 8.12.2020, teisipäev. Sisestatud 09. – 10. detsember 2020
Контроллеры и валидация
1. В этом уроке поговорим о контроллерах и о валидации данных, которые поступают из формы.
2. Сначала создадим контроллер, но перед этим поговорим о том, что такое контроллер
3. Laravel состоит из шаблона Model, View, Controller.
View отвечает за различные HTML-шаблоны, Model отвечает за файлы для работы с БД.
Контроллер служит для объединения этих двух слоев – модели и вида, это по сути объединение
шаблонов с базой данных.
4. Сейчас мы создадим контроллер для получения данных из базы данных, будем производить
обработку всех этих данных. В дальнейшем создадим отдельную модель. И в контроллере будем
вызывать эту модель.
5. И через эту модель будем сохранять данные в бд
6. Сейчас же создадим контроллер, который будет получать и обрабатывать данные из формы
7. С помощью artisan создадим контроллер
8. В терминале пишем php artisan make:controller ContactController в папке проекта
9. Контроллер успешно создан в папке app/http/controllers/ContactController.php
10. В контроллере создаем функцию public function submit(). Пока что return okey
11. Теперь переходим в папку routes/web.php
12. Удаляем вызов функции в качестве второго параметра
13. Когда мы переходим по адресу ‘/contact/submit’, то у нас будет вызываться функция
контроллера submit
14. Давайте будем в функции submit() выводить все данные из формы
15. Чтобы получить все данные, надо в функцию submit() передавать один параметр на основе
класса Request::submit(Request $req)
dd($req) (просто выводим все данные)
16. Если хотим увидеть значения, полученные из формы, обращаемся к значению request,
найти массив parameters и в этом массиве будут все те данные, которые мы получили из формы.
17. Также имеем доступ к различным cookies, заголовкам (headers), сессиям (session),
каким методом все было отправлено, также на какой url-адрес была передана вся информация
18. Обычно нужны только данные из параметра request
19. Будем выводить не все данные, а например, только subject
20. dd($req->input(‘subject’))
21. Теперь после отправки данных выводится только тема сообщения
23. Теперь поговорим на тему валидации данных, те на проверку корректного заполнения
24. Создадим переменную $validation = $req->validate();
25. В эту функцию надо передать массив полей, которые мы проверяем. Указываем название
поля и какой метод проверки используем для этого поля
26. Во-первых, указываем, что это поле обязательно для заполнения. После | можем указать
дополнительные проверки для этого поля. Например, min:5. Минимальное количество символов
для заполнения. max:50. Если пользователь введет 51 символ, то будет считаться, что оно
некорректно заполнено
27. Проверок много, но мы остановимся на трех.
‘subject’ => ‘required|min:5|max:50’
28. Если поле subject будет незаполнено, будет ошибка, если будет меньше, 5 символов,
будет ошибка. Если будет больше 50 символов, то тоже будет ошибка.
29. Если хотим проверять другие поля, то пишем message.
‘message’ => ‘required|min:15|max:500’
30. Можем оставить только required
31. Мы прописали проверку данных на корректность. Теперь надо выводить ошибки.
32. Чтобы выводить ошибки, надо определиться с файлом, в котором будут выводиться ошибки
33. contact.blade.php. Здесь будут выводиться ошибки.
34. Под заголовком будут все возникающие ошибки
35. Изначально надо проверить, есть ли у нас ошибки
36. Пишем условный оператор, который обращается к объекту $errors.
@if($errors->any())
37. В каждом шаблоне Laravel присутствует объект $errors
38. В каждом шаблоне Laravel мы можем обратиться к объекту $errors
39. Если ошибки будут, то их надо будет выводить
40. Ошибки можно будет выводить как угодно
41. Мы будем выводить стилями Bootstrap
42. ‘<div class=”alert alert-danger”>
‘<ul>
43. Поскольку ошибок может быть много, мы создаем цикл
44. В движке Laravel существует несколько циклов: foreach, for, for while, for else.
Их всегда надо закрывать.
45. Мы обращаемся ко всем сообщениям об ошибке и перебираем их
@foreach($errors->all() as $error)
46. В ‘<li>{{$error}} выводим текст ошибки
47. Эти тексты ошибок можно кастомизировать, но сейчас выводим их так как есть
48. Обновим нашу страницу и нажмем send
49. Появляется ошибка
The subject field is required
The message field is required
50. Или что хотя бы 5 символов:
The subject must be at last 5 characters
51. Обработка формы и отслеживание ошибок работает корректно
52. Позже изменим текст ошибок на наш собственный
53. В документации Laravel есть различные валидации, которые можно добавлять в наши формочки
54. Available validation rules, и здесь прописаны тексты проверок, которые мы можем
использовать
55. Например, after date; Если введем дату меньше указанной, то будет выводиться ошибка
56. laravel.com/docs/5.7/validation#available-validation-rules
57. Создадим еще одну валидацию с помощью отдельного файла, писать свой текст ошибок
58. Создаем отдельный файл для валидации данных
59. Переходим в терминал и с помощью artisan создадим новый файл, содержащий валидацию
60. php artisan make:request ContactRequest
61. Создается новая папка app/http/Requests/ContactRequest.php
62. Сразу замечаем функцию authoraze(), в которой меняем значение return на true
63. Если здесь будет false, то пользователь не сможет отправлять данные до тех пор, пока он
не будет авторизован на сайте
64. Соответсвенно мы пишем true, чтоб он мог отправлять данные, даже если он не авторизован
65. В функции rules мы можем прописывать точно такие же провила, как в функции validate()
66. Из функции validate() копируем return [ , subject, message], в функцию rules, а функцию
validate закомментируем
67. Прежде чем мы подключим наши проверки, подключим наш новый файл к контроллеру
68. В начале ContactController.php пишем
use App\Http\Requests\ContactRequest
69. Для того чтоб все это работало, нам надо изменить тип параметра, который мы передаем в
функцию submit.
public function submit(ContactRequest $req)
70. Когда мы будем передавать данные формы, будет передаваться $req типа ContactRequest
на основе класса ContactRequest и обработка будет происходить на основе правил из функции
rules и если возникнут ошибки, то они будут выводиться на странице контактов.
71. Перезагрузим страницу контактов и отправим данные и видим, что происходит вывод всех
ошибок
Все работает корректно.
72. Напишем еще дополнительные ошибки, а дальше поменяем текст этих ошибок.
73. ‘email’ => ‘required|email’
74. ‘name’ => ‘required’
75. Если нажимаем send, то видим, что выводится 4 ошибки. Сколько полей,…
76. Теперь поменяем текст всех ошибок
77. В файле ContactRequest создадим новую функцию public function attributes() {
return [‘name’ => ‘your name’]}
78. Создаем новую функцию messages()
return [‘name.required’ => ‘obligatory’]
79. То же самое для email, subject и message.
Запятую с конца удаляем.
80. Если случится ошибка required для любого из этих полей, то будет выводиться ошибка,
которую мы прописали
81. Если хотите, можете для других типов ошибок прописать свои ошибки
82. email.email => некорректный email
83. Таким образом происходит обработка формочек
84. Передаем данные на контроллер из web.php, в котором вызывается контроллер функция,
в ней и в ней вызывается ф..
ContactRequest, в котором вызывается проверка данных – и потом все эти ошибки выводятся
у нас на страничке при помощи цикла.
На следующем уроке поговорим про модели и научимся добавлять данные в БД.

Посмотреь LUMEN.LARAVEL – Karl
09.detsember 2020 kell 17.30, Priit

Salme Klimovskaja veebileht
Ülevaade privaatsuspoliitikast

Küpsiste kasutamise- ja privaatsuspoliitika  teavitus

Käesolev küpsiste kasutamise ja privaatsuspoliitika teavitus (edaspidi teavitus) sisaldab kasulikku infot selle kohta, kuidas ja milleks OÜ Lartim isikuandmeid (andmeid) kogub, töötleb ja jagab. Privaatsuspoliitika lähtub andmekaitse üldregulatsioonist (GDPR – General Data Protection Regulation).

Privaatsuspoliitika eesmärk on kaitsta klientide privaatsust kooskõlas Eesti Vabariigi seaduste ning Euroopa Liidu õigusaktidega.

„Isikuandmed“ on mis tahes teave tuvastatud või tuvastatava füüsilise isiku kohta, näiteks nimi, aadress, e-posti aadress ning teave meie kodulehe külastuste, sotsiaalmeedia kanalite ja meie teenuste kasutamise kohta.

Kasutades meie veebilehte, nõustute küpsiste kasutamisega ja isikuandmete töötlemise tingimustega nagu on kirjeldatud meie Küpsiste kasutamise- ja privaatsuspoliitikas.

Kehtiv alates 25.05.2018

1. Kelle andmeid OÜ Lartim töötleb?

OÜ Lartim on isikuandmete vastutav töötleja ning küsimuste korral kirjuta info [ät] ylejoeapteek.ee.

OÜ Lartim töötleb oma klientide ja kontaktisikute andmeid, kes on avaldanud soovi tarbida meie teenuseid või on varasemalt kasutanud meie teenuseid.

Teatud juhtudel töötleme isikuandmeid, mis on kättesaadavad avalikest allikatest.

2. Kliendi isikuandmete (andmete) töötlemise eesmärgid ja õiguslikud alused

OÜ Lartim töötleb isikuandmeid järgmistel eesmärkidel:

    • õigusaktidest tulenevate nõuete täitmine;

    • kliendi päringutele vastamine;

3. Kuidas andmeid kogutakse

Isikuandmeid kogume ainult tagasiside vormilt.

Küpsised ja pikslisildid ning nendest vabanemine

Küpsis (cookie) on väikesemahuline tekstifail, mille veebiserver saadab kasutaja veebilehitsejale ja mis salvestatakse kasutaja arvuti kõvakettale ning mis võimaldab meelde jätta kasutaja eelistused nagu kirjasuurus, suhtluskeel, seadmeinfo, külastusstatistika jms.

Kõik veebisirvijad on vaikimisi seatud küpsiseid lubama, kuid veebisirvija seadeid saab üldjuhul muuta selliselt, et veebilehitseja keeldub küpsistest täielikult, blokeerib kolmandate isikute küpsised või teavitab kasutajat igast saadetud küpsisest.

Pikslisildid on väikesed veebisaidi koodilõigud, mis võimaldavad veebilehtedel küpsiseid lugeda ja paigaldada. Need käivituvad, kui kasutaja avab e-kirja või saabub veebisaidile, misjärel laaditakse alla kolmandate isikute küpsiseid või registreeritakse, et kasutaja on e-kirja avanud.

OÜ Lartim kasutab järgmiseid küpsiseid:

    • Seansiküpsised (ajutised küpsised), mille eesmärk on võimaldada teenuse kasutamist.

Täpsemalt öeldes kasutab OÜ Lartim:

    • kolmandate osapoolte küpsiseid, nt Google Maps. Asukoha kaarti ei näidata, kui pole nõustunud privaatsustingimustega.

Kasutajal on õigus keelduda küpsiste salvestamisest arvutisse. Vastava soovi korral peab kasutaja muutma oma veebilehitseja seadeid.

Juhendid enamkasutavate veebisirvijate seadistamiseks:

Internet Explorerhttp://support.microsoft.com/kb/278835

Crome: https://support.google.com/chrome/answer/95647?hl=en

Firefoxhttp://support.mozilla.org/en-US/kb/Clear%20Recent%20History

Operahttp://www.opera.com/browser/tutorials/security/privacy

Safarihttps://support.apple.com/guide/safari/manage-cookies-and-website-data-sfri11471/mac

Küpsiste blokeerimisel peab kasutaja arvestama, et kõik veebilehe funktsioonid ei pruugi enam kasutajale kättesaadavad olla.

4. OÜ Lartim poolt töödeldavad isikuandmed (sh andmed)

OÜ Lartim võib töödelda järgmisi isikuandmeid (sh andmeid):

http://www.ylejoeapteek.ee/vota-meiega-uhendust/ lehelt saadetud tagasiside vormilt saadud kontaktanded – nimi ja e-posti aadress

OÜ Lartim ei töötle vastutava töötlejana isikuandmete eriliike.

5. Isikuandmete jagamine

OÜ Lartim ei edasta kliendi andmeid väljapoole Euroopa (EU) Majanduspiirkonda.

OÜ Lartim ei jaga kliendi isikuandmeid kolmandatele osapooltele va allpool loetletud tingimustel.
Kõiki andmeid kasutatakse ainult suhtlemiseks ja parema toote või teenuse pakkumise eesmärgil.

Sinu isikuandmeid võime jagada järgmistel juhtudel:

    • Riikliku järelvalve asutused ja Politsei.

    • Avalik tagasiside kliendi nõusolekul.

6. Isikuandmete (andmete) turvalisus, kasutamine ja säilitamine

OÜ Lartim ei saada klientidele informatsiooni oma teenuste, toodete, uudiskirjade ja pakkumiste kohta.

6.1. Isikuandmete turvalisus

Isikuandmete turvaline säilitamine on OÜ Lartim kõrgeim turvalisuse alane prioriteet. Püüame teha kõik võimaliku, et vältida loata juurdepääsu, avaldamist ja muud õigusvastast töötlemist.
Kaitseme isikuandmete konfidentsiaalsust ja puutumatust ning tagame andmetele juurdepääsu kooskõlas kehtivate õigusaktidega.

Oleme meie kogutavate ja töödeldavate isikuandmete kaitseks kehtestanud mõistlikud ja piisavad organisatsioonilised meetmed ning tehnilised ja füüsilised piirangud. Kasutatavad meetmed sõltuvad isikuandmete liigist ja nende avalikukssaamise võimalikest tagajärgedest.

OÜ Lartim on rakendanud vajalikke tehnilisi, füüsilisi ja korralduslikke turvameetmeid kliendi isikuandmete (andmete) kaitsmiseks kadumise ja ebaseadusliku töötlemise eest.

6.2. Säilitamistähtaeg – kui kaua isikuandmeid säilitame?

OÜ Lartim säilitab isikuandmeid üksnes nii kaua, kui see on nende kogumise eesmärgi saavutamiseks vajalik. Säilitamistähtaeg sõltub ka vajadusest vastata andmesubjektide päringutele, lahendada probleeme ning täita seadusejärgseid dokumentide säilitamise nõudeid.

Kui me isikuandmeid enam ei vaja ja õigusaktid nende säilitamist ei nõua, kustutame me need isikuandmed.

Võime jätkata kõnesolevate andmete kasutamist statistilistel eesmärkidel, kuid üksnes pseudonümiseeritud või anonümiseeritud kujul.

Kui tekib kasvõi väiksemgi küsimus, siis palun kirjuta info [ät] ylejoeapteek.ee.

7. Kliendi  (andmesubjekti) õigused

Kliendil on õigus pääseda ligi OÜ Lartim poolt töödeldavatele Kliendi enda isikuandmetele ja õigus nõuda ebatäpsete isikuandmete parandamist.

Kui Kliendil on küsimusi oma õiguste kohta või on ta arvamusel, et OÜ Lartim on tema isikuandmete (andmete) töötlemisel rikkunud tema õigusi, peaks ta kindlasti ühendust võtma e-posti aadressil info [ät] ylejoeapteek.ee.

Andmesubjekti õigused

Parandamisõigus – on andmesubjekti õigus nõuda, et temaga seotud ebaõiged isikuandmed põhjendamatu viivituseta parandataks.

Kustutamisõigus – on andmesubjekti õigus nõuda, et tema isikuandmed põhjendamatu viivituseta kustutataks, kui on täidetud teatud lisatingimused.

Teatud juhtudel on andmesubjektil õigus piirata enda isikuandmete töötlemist.

Andmesubjektil on õigus tutvuda isikuandmetega, mida me tema kohta säilitame ja mida ta on meile andnud ning õigus edastada need andmed teisele vastutavale töötlejale, kui see on tehniliselt võimalik ning töötlemine toimub nõusoleku või lepingu alusel ja automatiseeritult.

Andmesubjektil on õigus oma konkreetsest olukorrast lähtudes esitada igal ajal vastuväiteid enda isikuandmete töötlemise suhtes, mis toimub õigusaktide vastavate sätete alusel, sealhulgas nende sätete alusel toimuva profiilianalüüsi suhtes.

Kui õigusaktidest ei tulene teisiti, on andmesubjektil õigus, et tema kohta ei tehtaks otsust, mis põhineb üksnes automatiseeritud töötlusel, sealhulgas profiilianalüüsil, ning loob andmesubjektile õiguslikke tagajärgi või avaldab talle märkimisväärset mõju.

Kui isikuandmete töötlemise aluseks on andmesubjekti nõusolek, on andmesubjektil õigus see nõusolek igal ajal tagasi võtta, ilma et see mõjutaks enne tagasivõtmist nõusoleku alusel toimunud töötlemise seaduslikkust.

Kui soovite kasutada nimetatud õigusi, palume võtta meiega ühendust.

Kui OÜ Lartim pakutud lahendus ei rahulda teid, siis on teil õigus pöörduda Eesti Vabariigi Andmekaitse Inspektsiooni ja kohtu poole.

8. Muud sätted

OÜ Lartim võtab õiguse Küpsiste kasutamist ja privaatsuspoliitikat ühepoolselt muuta. Küpsiste kasutamise ja privaatsuspoliitika uusim versioon on alati saadaval käesoleval veebilehel.

Käesolevale Küpsiste kasutamisele ja privaatsuspoliitikale kohalduvad Eesti Vabariigi seadused. Poliitikast tulenevad vaidlused või nõuded lahendatakse Pärnus Pärnu Maakohtus.