Laravel 8: Dlaczego ostrze logowania nie wyświetla alertu Javascript [zamknięte]

Nov 25 2020

Pracuję nad moim login.blade.phpi chcę pokazać pole ostrzegawcze, jeśli użytkownik napotkał błąd podczas wypełniania formularza:

<form method="POST" action="{{ route('login') }}">
    @csrf
    <div class="field">
        <span class="fas fa-user"></span>
        <input type="email" name="email" required>
        <label style="right:0;">Email</label>
        @error('email')
            alert('Something went wrong');
        @enderror                   
    </div>
    <div class="field">
        <span class="fas fa-lock"></span>
        <input type="password">
        <label style="right:0;">Password</label>
        @error('email')
            alert('Something went wrong');
        @enderror
    </div>
    <button>Login</button>
</form>

Więc jak możesz, mogę umieścić, alert()jeśli użytkownik napotkał błąd z adresem e-mail lub hasłem, ale problem polega na tym, że nie wyświetla wyskakującego komunikatu!

Mam na myśli to, że po prostu drukuje to jako tekst obok wejścia.

Więc jeśli wiecie, co jest nie tak lub jak mogę to rozwiązać, dajcie mi znać, naprawdę byłbym wdzięczny za każdy pomysł od was ...

Odpowiedzi

BabakAsadzadeh Nov 25 2020 at 13:52

Myślę, że to dlatego, że zapomniałeś <script>tagu, zrób to w ten sposób:

@error('email')
    <script>
        alert('Something went wrong');
    </script>
@enderror
Alex Nov 25 2020 at 13:53

Jest wyświetlany jako tekst, ponieważ używasz go jak tekstu, aby działał, musisz zadeklarować go jak skrypt, na przykład:

@error('email')
   <script type="text/javascript">
      alert('Something went wrong');
   </script>
@enderror