• Czas czytania ~3 min
  • 13.07.2022

System Walidacji Laravel ma 60+ validation rules available, ale co jeśli chcesz coś ekstra? Możesz easily create your own validation rulelub skorzystaj z czegoś, co już jest dostępne w internecie. Spójrzmy.

22 zasady z Alfametryczny

Zaczynamy od serii artykułów ks Matt Kingshott, starszy programista w Alphametric, napisał sporo postów na Medium i dodał wszystkie zasady do pliku a Repozytorium Githuba. Oto lista dostępnych tam zasad:

  • Silne hasło: checks for "strong" hasło
  • Numer telefonu: ważny numer telefonu
  • Właściciel rekordu: Wymaga, aby identyfikator uwierzytelnionego użytkownika był zgodny z kolumną user_id w danym rekordzie bazy danych, np. właściciel:posty, id
  • Postać Pieniężna: kwota pieniężna, np. 72,33 USD
  • Jednorazowy e-mail: adres e-mail, który nie jest jednorazowy
  • Nie istnieje: wartość nie występuje w danej tabeli / kolumnie bazy danych
  • Dziesiętny: dziesiętny w odpowiednim formacie
  • Zakodowany obraz: wartość to obraz zakodowany w base64 danego typu MIME
  • Współrzędne lokalizacji: rozdzielony przecinkami zestaw współrzędnych szerokości i długości geograficznej
  • Plik istnieje: wartość to ścieżka do istniejącego pliku
  • Równa się: wartość jest równa innej podanej wartości
  • Adres Mac: wartość to prawidłowy adres MAC
  • ISBN: wartość to prawidłowy numer ISBN-10 lub ISBN-13
  • Kończy się na: wartość kończy się podanym ciągiem znaków
  • Liczba parzysta: value is an nawet number (decimals are first converted using intval)
  • DziwneNumber: wartość jest liczbą nieparzystą (liczby dziesiętne są najpierw konwertowane za pomocą intval)
  • Małe litery: wartość to ciąg znaków pisany małymi literami
  • Duże litery: wartość jest ciągiem pisanym wielką literą
  • Tytuł sprawy: wartość jest łańcuchem tytułowym
  • Domena: wartość jest domeną, np. google.com, www.google.com
  • Identyfikacja obywatela: wartość id numer identyfikacyjny obywatela USA, Wielkiej Brytanii lub Francji
  • Bez spacji: wartość nie zawiera żadnych białych znaków

8 Rules from Scotta Robinsona

Kolejny dobry zestaw zasad jest tworzony przez Scott Robinson, który stworzył specjalną stronę internetową laravel-validation-rules.github.io. Ma takie zasady:

  • Kolor: Validates colours, currently supporting hex codes tylko.
  • Kody krajów: Sprawdza 2- i 3-znakowe kody krajów.
  • Karta kredytowa: Ta reguła potwierdzi, że podany numer karty kredytowej, data ważności lub kod CVC są ważne.
  • IP: Sprawdza, czy adres IP jest publiczny lub prywatny. Obsługuje ipv4 i ipv6.
  • Telefon: Sprawdza format numeru telefonu.
  • Subdomena: Sprawdza subdomenę przesłaną przez użytkownika w Twojej aplikacji.
  • Strefa czasowa: Ta reguła sprawdzi, czy dana strefa czasowa jest poprawna w systemowej bazie danych datetime.
  • Stan USA: Zatwierdź stany USA i prowincje Kanady.

5 Rules from Przestrzeń

Nasz ukochany Spatie zespół też ma their own repository z kilkoma zasadami:

  • Upoważniony: użytkownik jest upoważniony do wykonania zdolności na egzemplarzu danego modelu.
  • Kod pocztowy: pole to prawidłowy kod kraju ISO3166.
  • wylicz: wartość jest częścią danej klasy enum, na przykład myclabs/php-enum.
  • ModeleIstnieją: wszystkie wartości w tablicy wejściowej istnieją jako atrybuty dla danej klasy modelu.
  • Rozgraniczony: łańcuch zawiera wartości rozdzielane, np [email protected], [email protected]

5 zasad z Pineco.de

Wreszcie, Gergő D. Nagy z Pineco.de ma published an article pod koniec 2017 r. wraz z zestawem zasad walidacji i a repository. Od tego czasu nie był aktualizowany, więc używaj go ostrożnie. Zasady to:

  • Sprawdzanie użytkownika password
  • Odd or even liczby
  • Wartość może być zwiększona only
  • Wartość zawiera konkretny słowa
  • Dzień musi być dzień powszedni

Coś przegapiłem?

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297