后盾网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">×</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方法