laravel表单验证

详细地址:https://segmentfault.com/a/1190000003718819


效果展示:

       



代码 实现:


后台:

use Validator;

[php]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1.  public function login()  
  2.     {  
  3.         if($input = Input::all()){  
  4.             //验证提交的数据  
  5.             $rules = [  
  6.                 'user_name'=>'required|between:4,20',  
  7.                 'user_pwd'=>'required|between:6,20',  
  8.                 'code'=>'required|between:4,4'  
  9.             ];  
  10.             $message = [  
  11.                 'user_name.required'=>'账号不能为空!',  
  12.                 'user_name.between'=>'账号必须在6-20位之间!',  
  13.                 'user_pwd.required'=>'密码不能为空!',  
  14.                 'user_pwd.between'=>'密码必须在6-20位之间!',  
  15.                 'code.required'=>'验证码不能为空!',  
  16.                 'code.between'=>'验证码必须为4位!',  
  17.             ];  
  18.             $validator = Validator::make($input,$rules,$message);  
  19.             //表单验证  
  20.             if($validator->passes()){  
  21.             //验证验证码  
  22.             if($_SESSION['code']!=strtoupper($input['code'])){  
  23.                 return back()->with('msg','验证码错误!');  
  24.             }  
  25.             //用户验证  
  26.             $user = DB::table('user')->select  
  27.   
  28. ('user_id','user_encrypt','user_pwd')->where('user_name',$input['user_name'])-  
  29.   
  30. >first();  
  31.             if(!$user){  
  32.                 return back()->with('msg','用户不存在!');  
  33.             }else{  
  34.                 if(md5(md5($input['user_pwd']).$user->user_encrypt)!=$user-  
  35.   
  36. >user_pwd){  
  37.                     return back()->with('msg','密码错误!');  
  38.                 }  
  39.                 session(['user_id'=>$user->user_id]);  
  40.                 return redirect('index');  
  41.                }  
  42.             }else{  
  43.                 return back()->withErrors($validator);  
  44.             }  
  45.         }else{  
  46.             return view('admin.login');  
  47.         }  
  48.   
  49.     }  

前台:

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <div class="middle-box text-center loginscreen  animated fadeInDown">  
  2.         <div>  
  3.             <div>  
  4.   
  5.                 <h1 class="logo-name">h</h1>  
  6.   
  7.             </div>  
  8.             <h3>欢迎使用 hAdmin</h3>  
  9.               
  10.             <form class="m-t" role="form" action="{{URL('/login')}}" method="post">  
  11.                @if(count($errors)>0)  
  12.                             @if(is_object($errors))  
  13.                                 @foreach($errors->all() as $error)  
  14.                                 <p style="color:red">{{$error}}</p>  
  15.                                 @endforeach  
  16.                             @else  
  17.                             <p style="color:red">{{$errors}}</p>  
  18.                         @endif  
  19.                     @endif  
  20.                     @if(session('msg'))  
  21.                         <p style="color:red">{{session('msg')}}</p>  
  22.                     @endif  
  23.                 <div class="form-group">  
  24.                     <input type="email" class="form-control" placeholder="用户名" required="" name="email">  
  25.                 <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">  
  26.                 </div>  
  27.                 <div class="form-group">  
  28.                     <input type="password" class="form-control" placeholder="密码" required="" name="pwd">  
  29.                 </div>  
  30.                 <button type="submit" class="btn btn-primary block full-width m-b">登 录</button>  
  31.   
  32.   
  33.                 <p class="text-muted text-center"> <a href="login.html#"><small>忘记密码了?</small></a> | <a href="{{URL('/register')}}">注册一个新账号</a>  
  34.                 </p>  
  35.   
  36.             </form>  
  37.         </div>  
  38.     </div>  

$validator->fails()  验证都符合规则返回false 不符合规则返回true

注:转自woshihaiyong168的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值