【问题标题】:Laravel 8: Is there any way to show default form error messages inside of alert boxLaravel 8:有没有办法在警报框中显示默认表单错误消息
【发布时间】:2021-03-08 07:44:14
【问题描述】:

假设我有一个这样的登录表单:

<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')
            <script type="text/javascript">
            alert('Something went wrong');
            </script>
        @enderror                   
    </div>
    <div class="field">
        <span class="fas fa-lock"></span>
        <input type="password">
        <label style="right:0;">Password</label>
        @error('email')
            <script type="text/javascript">
            alert('Something went wrong');
            </script>
        @enderror
    </div>
    <button>Login</button>
</form>

如您所见,我设置了一个 Javascript 警报框来显示错误消息:

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

现在我不想写 Something went wrong,而是想设置 Laravel 默认消息,即 {{ $message }}

但问题是,当我这样做时,它不起作用!

那么有什么方法可以在 Javascript 警告框内显示此 $message 吗?

【问题讨论】:

  • 如果您想将错误显示为警报,那么我建议您将所有js代码放在html页面的底部。你可以这样做alert('{{ $message }}');
  • 作为高级,您可以使用github.com/yoeunes/toastr 显示错误、警告、危险等消息。
  • fyi,你有两次@error('email'),最后一个应该是密码。而你的&lt;input type="password"&gt; 没有name 属性

标签: javascript php laravel alert laravel-8


【解决方案1】:

要将错误消息集成到 HTML 代码或 JS 代码中,您应该使用花括号,例如:

alert({{message}});

但是我建议使用像 sweet alert 这样的库来完成这项工作。

【讨论】:

  • 那么问题出在哪里?如果您确保这三个步骤做得好,它应该可以正常工作:1)确保将甜蜜警报添加到您的项目中。 2) 使用SweetAlert::message('Message', 'Optional Title');在您的控制器中,当您返回错误时。 3) 在刀片中使用@include('sweet::alert')。有关甜蜜警报使用的更多信息,请阅读文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-06
  • 1970-01-01
相关资源
最近更新 更多