Laravel 8:ログインブレードにJavascriptアラートが表示されない理由[クローズ]

Nov 25 2020

私は自分の作業を行ってlogin.blade.phpおり、ユーザーがフォームの入力中にエラーに直面した場合にアラートボックスを表示したいと思います。

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

したがって、alert()ユーザーが電子メールまたはパスワードでエラーに直面した場合、私はあなたができるように置くことができますが、問題はそれがポップアップメッセージを表示しないことです!

つまり、入力の横にテキストとして出力するだけです。

だから、ここで何が悪いのか、どうすればこれを解決できるのか知っているなら、私に知らせてください、私はあなたたちからのアイデアを本当に感謝します...

回答

BabakAsadzadeh Nov 25 2020 at 13:52

<script>タグを忘れたからだと思います。

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

テキストのように使用するため、テキストとして表示されます。機能させるには、次のようにスクリプトのように宣言する必要があります。

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