效果展示:

       

代码 实现:

后台:

use Validator;

public function login()
{
if($input = Input::all()){
//验证提交的数据
$rules = [
'user_name'=>'required|between:4,20',
'user_pwd'=>'required|between:6,20',
'code'=>'required|between:4,4'
];
$message = [
'user_name.required'=>'账号不能为空!',
'user_name.between'=>'账号必须在6-20位之间!',
'user_pwd.required'=>'密码不能为空!',
'user_pwd.between'=>'密码必须在6-20位之间!',
'code.required'=>'验证码不能为空!',
'code.between'=>'验证码必须为4位!',
];
$validator = Validator::make($input,$rules,$message);
//表单验证
if($validator->passes()){
//验证验证码
if($_SESSION['code']!=strtoupper($input['code'])){
return back()->with('msg','验证码错误!');
}
//用户验证
$user = DB::table('user')->select ('user_id','user_encrypt','user_pwd')->where('user_name',$input['user_name'])- >first();
if(!$user){
return back()->with('msg','用户不存在!');
}else{
if(md5(md5($input['user_pwd']).$user->user_encrypt)!=$user- >user_pwd){
return back()->with('msg','密码错误!');
}
session(['user_id'=>$user->user_id]);
return redirect('index');
}
}else{
return back()->withErrors($validator);
}
}else{
return view('admin.login');
} }

前台:

<div class="middle-box text-center loginscreen  animated fadeInDown">
<div>
<div> <h1 class="logo-name">h</h1> </div>
<h3>欢迎使用 hAdmin</h3> <form class="m-t" role="form" action="{{URL('/login')}}" method="post">
@if(count($errors)>0)
@if(is_object($errors))
@foreach($errors->all() as $error)
<p style="color:red">{{$error}}</p>
@endforeach
@else
<p style="color:red">{{$errors}}</p>
@endif
@endif
@if(session('msg'))
<p style="color:red">{{session('msg')}}</p>
@endif
<div class="form-group">
<input type="email" class="form-control" placeholder="用户名" required="" name="email">
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
</div>
<div class="form-group">
<input type="password" class="form-control" placeholder="密码" required="" name="pwd">
</div>
<button type="submit" class="btn btn-primary block full-width m-b">登 录</button> <p class="text-muted text-center"> <a href="login.html#"><small>忘记密码了?</small></a> | <a href="{{URL('/register')}}">注册一个新账号</a>
</p> </form>
</div>
</div>

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

注:转自小白丶程序猿的博客

laravel表单验证的更多相关文章

  1. Laravel表单验证提示设置多语言

    默认表单提示是英文的,我们可以安装语言包构建多语言环境. 根据版本选择命令 For Laravel 7.x : run composer require caouecs/laravel-lang:~6 ...

  2. 社群系统 ThinkSNS+ 中如何利用 Laravel 表单验证来验证用户名的?(我朝独有需求,两个字母占一个汉字。。。)

    ThinkSNS+后端框架使用laravel,每周和 laravel master 保持同步,而后台和 html 5 则采用 vue 开发.语言特性方面,采用 php 7 的严格模式. 言归正传,之所 ...

  3. Laravel 表单验证创建“表单请求”实现自定义请求类

    按照文档创建表单请求自定义类以后,调用总是403页面,咨询大佬说: public function authorize() { // 在表单验证类的这个方法这里要返回true,默认返回false,这个 ...

  4. laravel 表单验证 Exists 规则的基本使用方法

    public function rules(){ return [ 'm_pushing_frequency_level_id' => 'integer|required|exists:m_pu ...

  5. laravel 表单验证 正则匹配

    判断url地址 是否为正确格式 控制器中 $this -> validate($request,[ 'linkname' => 'required|max:6|min:2', 'url' ...

  6. laravel 表单验证

    $this->validate($request, [ 'sn' =>['regex:/^\d{6}$/','required'], 'user' => ['numeric','mi ...

  7. Laravel教程 七:表单验证 Validation

    Laravel教程 七:表单验证 Validation 此文章为原创文章,未经同意,禁止转载. Laravel Form 终于要更新这个Laravel系列教程的第七篇了,期间去写了一点其他的东西. 就 ...

  8. 【干货】Laravel --Validate (表单验证) 使用实例

    前言 : Laravel 提供了多种方法来验证应用输入数据.默认情况下,Laravel 的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验 ...

  9. 最适合入门的Laravel中级教程(三)表单验证

    做开发有个原则是永远不能信任用户输入的数据: 即便前端已经做了验证: 在后端 php 也必须要再次验证: laravel 为表单验证提供了强大且简单的方案: 创建示例路由: routes/web.ph ...

随机推荐

  1. Redis的使用及参考代码

    Redis是一种完全开源免费,高性能的key-value数据库或数据结构服务器,因为value值可以是字符串,哈希(map),列表list,集合等. Jedis 是 Redis 官方首选的 Java ...

  2. Java定时任务解决方案

    很多项目中都会遇到需要定时任务的情况,本篇文章就结合了Spring中以及SpringBoot.SpringCloud中定时任务的解决方案. 在Spring中使用定时器 用SpringBoot比较多的同 ...

  3. [Swift]Xcode标记:MARK、TODO、FIXME

    1. MARK MARK一定要大写.其又叫做代码标注,我们可以使用它来添加一些说明文字.同时可以选择其上方是否需要显示分割线. // MARK: - 说明文字,带分割线 // MARK: 说明文字,不 ...

  4. Spark基础-scala学习(七、类型参数)

    类型参数是什么 类似于java泛型,泛型类 泛型函数 上边界Bounds 下边界 View Bounds Context Bounds Manifest Context Bounds 协变和逆变 Ex ...

  5. Python 字符串增删改查的使用

    #coding=utf-8a = 'haha'a = "hao"print(a)s = 'Hello World!'print(s.swapcase()) #大写变小写,小写变大写 ...

  6. Docker安装配置MongoDB并使用Robo 3T在局域网连接

    主要参考了这位老兄的文章(传送门),写的还是比较详细的. 不废话直接来正经的. 1.docker pull mongo 从docker hub拉取最新的mongo镜像文件,300多M大小. 2.doc ...

  7. 【学习笔记】分类算法-k近邻算法

    k-近邻算法采用测量不同特征值之间的距离来进行分类. 优点:精度高.对异常值不敏感.无数据输入假定 缺点:计算复杂度高.空间复杂度高 使用数据范围:数值型和标称型 用例子来理解k-近邻算法 电影可以按 ...

  8. vue android低版本 白屏问题 你是不是用了Object.assign ??

    问题描述 在部分比较低版本的手机中,发现apk安装后白屏,但是大部分手机都能安装. 本人在使用android4.4时候,也是安装后打开白屏. 原因: 代码写法不兼容 this.user = Objec ...

  9. Java 容器 & 泛型:二、ArrayList 、LinkedList和Vector比较

    Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 继续上一篇的容器文章认识容器,泥瓦匠慢慢带你们走进List的容器解说.今天泥瓦匠想说说 ArrayLi ...

  10. 从零开始学 Web 之 Vue.js(五)Vue的动画

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...