Autor Wątek: Dokładne przyrównania w metodach sprawdzających błędy formularzy  (Przeczytany 195 razy)

eerie

  • Newbie
  • *
  • Wiadomości: 27
    • Zobacz profil
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:

    /**
     * @Assert\IsFalse(
     *     message="Stare hasło nie jest zgodne z dotychczas istniejącym."
     * )
     */
    public function isOldPasswordValid(): bool
    {
        if ($this->password != '') {
            $idPassword = $this->em->getRepository('App:User')
                ->getIdPassword($this->user);
            $passwordVerify = password_verify(
                $this->password,
                $idPassword->getPassword()
            );
        }

        return $this->password != '' && !$passwordVerify;
    }

Czy nie powinienem zapisywać to w ten sposób (przyrównanie do null'a):

    /**
     * @Assert\IsFalse(
     *     message="Stare hasło nie jest zgodne z dotychczas istniejącym."
     * )
     */
    public function isOldPasswordValid(): bool
    {
        if ($this->password !== null) {
            $idPassword = $this->em->getRepository('App:User')
                ->getIdPassword($this->user);
            $passwordVerify = password_verify(
                $this->password,
                $idPassword->getPassword()
            );
        }

        return $this->password !== null && !$passwordVerify;
    }

eerie

  • Newbie
  • *
  • Wiadomości: 27
    • Zobacz profil
Odp: Dokładne przyrównania w metodach sprawdzających błędy formularzy
« Odpowiedź #1 dnia: Kwietnia 14, 2020, 11:48:47 »
Obawiam się, że całą tę klasę (wszystkie przyrównania) muszę też poprawić:

https://github.com/webeeq/symfony.eeq/blob/master/src/Form/EditUserForm.php

Prosiłbym o jakieś wskazówki, jak postępować z przyrównaniami na przyszłość.