Laravel 8: Por qué la hoja de inicio de sesión no muestra la alerta de JavaScript [cerrado]

Nov 25 2020

Estoy trabajando en mi login.blade.phpy quiero mostrar un cuadro de alerta si el usuario enfrentó un error al completar el formulario:

<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>

Entonces, como puede, puse el alert()mensaje si el usuario enfrentó algún error con el correo electrónico o la contraseña, ¡pero el problema es que no muestra el mensaje emergente!

Quiero decir, simplemente lo imprime como texto junto a la entrada.

Entonces, si saben lo que está mal aquí o cómo puedo resolver esto, háganmelo saber, realmente agradecería cualquier idea de ustedes ...

Respuestas

BabakAsadzadeh Nov 25 2020 at 13:52

Creo que es porque olvidaste la <script>etiqueta, hazlo así:

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

Se muestra solo como un texto porque lo usa como texto, para que funcione, debe declararlo como un script, como:

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