![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
O ile się nie mylę, formularz w Symfony zwraca wartości w postaci niepustego string'a lub null'a dla braku wartości. Zaleca się, aby stosować dokładne przyrównania (===) wszędzie tam, gdzie to jest możliwa. W związku z tym mam wątpliwość, czy zapis z kodu poniżej jest poprawny:
Kod /** * @Assert\IsFalse( * message="Strona www musi rozpoczynać się od znaków: http://" * ) */ public function isUrlValid(): bool { $urlValid = $this->url != '' && substr($this->url, 0, 7) != 'http://' && substr($this->url, 0, 8) != 'https://'; return $urlValid; } Czy nie powinienem zapisywać to w ten sposób (przyrównanie do null'a): Kod /** * @Assert\IsFalse( * message="Strona www musi rozpoczynać się od znaków: http://" * ) */ public function isUrlValid(): bool { return $this->url !== null && substr($this->url, 0, 7) !== 'http://' && substr($this->url, 0, 8) !== 'https://'; } Poza tym lepiej będzie chyba, jeśli return zwróci wynik bezpośrednio z równania, a nie ze zmiennej. Do tego (link poniżej) chyba źle nazwałem dwie metody sprawdzające. Powinno być isNewAndRepeatPasswordGiven() zamiast isNewOrRepeatPasswordGiven(). A także isNotUserEmail() zamiast isUserEmail(). https://github.com/webeeq/symfony.eeq/blob/...ditUserForm.php |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 482 Pomógł: 6303 Dołączył: 27.12.2004 ![]() |
Gdy cos moze byc pustym tekstem lub NULLem to nie mozesz porownywac tylko do jednego. Lepiej uzyj wiec empty()
Choc tutaj wydaje mi sie i tak ze masz chyba bledy w warunkach logicznych. && substr($this->url, 0, 7) !== 'http://' && substr($this->url, 0, 8) !== 'https://'; chyba sie wykluczaja nawzajem albo ja zglupialem po swietach ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 621 Pomógł: 144 Dołączył: 22.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Pomijajac juz kwestie walidacji itp, to do adresow masz
https://symfony.com/doc/current/reference/c...raints/Url.html A jak bys chcial recznie robic, to wydaje mi sie ze regexem byloby lepiej/ladniej. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
Ten warunek działa dobrze. Wyświetla się błąd, gdy podana jest wartość (adres URL) i nie zaczyna się od http:// i https:// jednocześnie. Ale faktycznie można to zrobić dużo prościej i lepiej.
Dzięki serdeczne za pomoc. ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2024 - 19:06 |