laravel表单验证
效果展示:
代码 实现:
后台:
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表单验证的更多相关文章
- Laravel表单验证提示设置多语言
默认表单提示是英文的,我们可以安装语言包构建多语言环境. 根据版本选择命令 For Laravel 7.x : run composer require caouecs/laravel-lang:~6 ...
- 社群系统 ThinkSNS+ 中如何利用 Laravel 表单验证来验证用户名的?(我朝独有需求,两个字母占一个汉字。。。)
ThinkSNS+后端框架使用laravel,每周和 laravel master 保持同步,而后台和 html 5 则采用 vue 开发.语言特性方面,采用 php 7 的严格模式. 言归正传,之所 ...
- Laravel 表单验证创建“表单请求”实现自定义请求类
按照文档创建表单请求自定义类以后,调用总是403页面,咨询大佬说: public function authorize() { // 在表单验证类的这个方法这里要返回true,默认返回false,这个 ...
- laravel 表单验证 Exists 规则的基本使用方法
public function rules(){ return [ 'm_pushing_frequency_level_id' => 'integer|required|exists:m_pu ...
- laravel 表单验证 正则匹配
判断url地址 是否为正确格式 控制器中 $this -> validate($request,[ 'linkname' => 'required|max:6|min:2', 'url' ...
- laravel 表单验证
$this->validate($request, [ 'sn' =>['regex:/^\d{6}$/','required'], 'user' => ['numeric','mi ...
- Laravel教程 七:表单验证 Validation
Laravel教程 七:表单验证 Validation 此文章为原创文章,未经同意,禁止转载. Laravel Form 终于要更新这个Laravel系列教程的第七篇了,期间去写了一点其他的东西. 就 ...
- 【干货】Laravel --Validate (表单验证) 使用实例
前言 : Laravel 提供了多种方法来验证应用输入数据.默认情况下,Laravel 的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验 ...
- 最适合入门的Laravel中级教程(三)表单验证
做开发有个原则是永远不能信任用户输入的数据: 即便前端已经做了验证: 在后端 php 也必须要再次验证: laravel 为表单验证提供了强大且简单的方案: 创建示例路由: routes/web.ph ...
随机推荐
- Javascript高级编程学习笔记(46)—— 选择符API
选择符API 在DOM1中DOM只提供了 getElementById.getElementsByTagName 两种获取文档元素的方法 很多时候这两种方法往往不能较为方便地获取我们所需要的元素 所以 ...
- 漫谈PHP组件、框架、Composer那些事
什么是组件 组件是一组打包的代码,是一系列相关的类.接口和Trait,用于帮助我们解决PHP应用中某个具体问题.例如,你的PHP应用需要收发HTTP请求,可以使用现成的组件如guzzle/guzzle ...
- 《http权威指南》读书笔记10
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- SpringBoot开源项目Jeeplatform
JEEPlatform 一款企业信息化开发基础平台,可以用于快速构建企业后台管理系统,集成了OA(办公自动化).SCM(供应链系统).ERP(企业资源管理系统).CMS(内容管理系统).CRM(客户关 ...
- openjtag 的硬件连接踩坑历程
这个事情踩了不少坑,这个要记录一下: 1 代码的下载和编译按照下面的来:https://github.com/pulp-platform/pulp-debug-bridge 注意点: A 要最好使用p ...
- 整理了一周的Python资料,包含各阶段所需网站、项目,收藏了慢慢来
这周应该有不少学校已经开学了,那么同学们都该动起来了,把家里面的那些懒习惯给扔掉了可以. 不知怎么的,最近不少关注我的读者都开始私信我怎么学好python?零基础转行是不是合适,还有希望吗?今年30了 ...
- 运维笔记--ubuntu管理启动项
启动项 https://blog.csdn.net/sz457763638/article/details/78182700
- MySQL(4)---慢查询
慢查询 简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 一.配置慢查询 1.参数说明 slow_query_l ...
- x-pack-5.6.10激活教程
x-pack-5.6.10激活教程 简介 X-Pack 已经作为 Elastic 公司单独的产品线,前身是 Shield, Watcher, Marvel, Graph, 和 reporting,先来 ...
- shell运算符与流程控制-2
1.shell运算符 1.1.算数运算符 原生的bash不支持算数运算,可以通过其它方式实现例如expr. `expr a + b` #a b为数字,和运算符之间要有空格 #``不是单引号,为键盘上E ...