首页 > 解决方案 > Laravel - 消息 Toastr,错误或无效输入字段

问题描述

我在添加、编辑和删除时收到此消息通知,但是当字段上出现错误时,例如,我将文本框留空,然后会弹出错误,但错误不是 toast,而是div class="alert alert-danger>. 你能帮我把它转换成toastr吗?

这是我的错误messages.blade.php

@if(count($errors) > 0)
    @foreach($errors->all() as $error)
        <div class="alert alert-danger">
            {{$error}}
        </div>
     @endforeach
@endif

我有这个toastr在我的脚本上工作successinfo并且工作得很好,但是我说的错误不起作用。

<script 
    src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js">
</script>
<script type="text/javascript" 
        src="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js">
</script>

<script>
    @if(Session::has('message'))
       var type="{{Session::get('alert-type','info')}}"

        switch(type){
            case 'info':
                toastr.info("{{ Session::get('message') }}");
                break;
            case 'success':
                toastr.success("{{ Session::get('message') }}");
                break;
            case 'warning':
                toastr.warning("{{ Session::get('message') }}");
                break;
            case 'error':
               toastr.error("{{ Session::get('message') }}");
               break;
        }
    @endif
</script>

我的控制器:

这是成功创建页面后我返回视图的位置:

$notification = array(
    'message' => 'Employee Information Created!',
    'alert-type' => 'success'
);
    
return redirect('/admin/employeemaintenance/show')
            ->with( $notification, 'Employee Information Created');

如何解决这个问题?

标签: javascriptjquerylaravellaravel-5eloquent

解决方案


如果您想吐司错误,我认为最简单的方法可能是将吐司换成alert-danger吐司:

<script>
    @if(count($errors) > 0)
        @foreach($errors->all() as $error)
            toastr.error("{{ $error }}");
        @endforeach
    @endif
</script>

您可能需要设置 toastr 以防止重复:

toastr.options = {
    "preventDuplicates": true
}

推荐阅读