微信扫一扫打赏支持

后盾网lavarel视频项目---页面post方式提交之后动态弹出错误信息

后盾网lavarel视频项目---页面post方式提交之后动态弹出错误信息

一、总结

一句话总结:

1、思路和我想的一样,有错误的时候弹出提示错误消息的模态框就好,没有错误的时候不管它
2、把模态框的弹出放在页面加载完之后:$(function(){ $('#model_message').modal('show'); });

 

1、在一个视图中引入另外一个视图用什么方法?

在一个视图中引入另外一个视图就是include方法:@include('admin.layout.message')

 

2、自定义请求验证(app/Http/Requests/AdminPost.php)如何使用?

传入请求验证对象,自动调用验证方法:public function changePassword(AdminPost $request){

 

 

二、页面post方式提交之后动态弹出错误信息

1、示例

 
页面刷新了,但是用户感受不出来
直接页面post提交,不是用的ajax
 
这里出现 的提示信息时 验证自带的

 

2、控制器:app/Http/Controllers/Admin/MyController.php

 1 <?php
 2 
 3 namespace App\Http\Controllers\Admin;
 4 
 5 use App\Http\Requests\AdminPost;
 6 use Illuminate\Http\Request;
 7 use App\Http\Controllers\Controller;
 8 
 9 class MyController extends Controller
10 {
11     //修改密码的界面
12     public function changePasswordForm(){
13         return view('admin.my.change_pass');
14     }
15 
16     //修改密码
17     public function changePassword(AdminPost $request){
18         echo '333';
19     }
20 }

第17行:

这里第二个方法中的 AdminPost $request 就是用的验证请求,也就是自定义请求验证

而且这个$request该有的字段啥都有,就是在Request $request的基础上面加了验证

 

3、请求验证:app/Http/Requests/AdminPost.php

 1 <?php
 2 
 3 namespace App\Http\Requests;
 4 
 5 use Illuminate\Foundation\Http\FormRequest;
 6 use Auth;
 7 
 8 class AdminPost extends FormRequest
 9 {
10     /**
11      * Determine if the user is authorized to make this request.
12      *
13      * @return bool
14      */
15     public function authorize()
16     {
17         return Auth::guard('admin')->check();
18         //return false;
19     }
20 
21     /**
22      * Get the validation rules that apply to the request.
23      *
24      * @return array
25      */
26     public function rules()
27     {
28         return [
29             'password'=>'sometimes|required',
30             'confirm_password'=>'sometimes|required',
31             'original_password'=>'sometimes|required',
32         ];
33     }
34 }

第29-31行:这里的sometimes就是有这个字段就会验证,没有就算了

 

 

 

3、错误提示信息的视图:resources/views/admin/layout/message.blade.php

@if(count($errors)>0)
<div class="modal fade" tabindex="-1" role="dialog" id="model_message">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title">Modal title</h4>
            </div>
            <div class="modal-body">
                <div class="alert alert-danger">
                    @foreach($errors->all() as $error)
                        {{$error}}<br>
                    @endforeach
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
    $(function () {
        $('#model_message').modal('show');
    });
</script>
@endif

 用的是bootstrap的模态框

 

4、在主视图中引入错误提示视图:resources/views/admin/layout/master.blade.php

</body>
@include('admin.layout.message')
</html>

在一个视图中引入另外一个视图就是include方法

 

 

 

 

 
posted @ 2019-09-12 18:21  范仁义  阅读(204)  评论(0编辑  收藏  举报