[Laravel 5] 表单验证 Form Requests and Controller Validation
本文 转载自:http://blog.hsin.tw/2015/laravel-5-note09-form-requests-and-controller-validation/
文章解答了我的困惑非常感谢原作者 我把原来的繁体字 改成了 简体
在后端作表单验证 有两种方法
第 1 种是使用 artisan 建立一个 request class 作验证   (手册里写的返回到Session 中 我不是非常理解 这篇文章解决勒沃的困惑)
第 2 种是直接在 controller 的 method 里面作验证
首先是第 1 种方式
首先使用 artisan 建立 request
php artisan make:request CreateArticleRequest
这条命令会创建这个文件
app/Http/Requests/CreateArticleRequest.php
class CreateArticleRequest extends Request {
    //验证用户权限  true 为有权限   有兴趣的可以改成false试试
    public function authorize()
    {
        return true;
    }
    // 这个地方填写表单验证规则
    public function rules()
    {
        return [
            'title' => 'required|min:3',
            'body' => 'required',
            'published_at' => 'required|date'
        ];
    }
}
如果有不符合规则的字段
他会输出 error 并回到原表单页
所以 view 这边要再加上显示 error
resources/views/articles/create.blade.php
    <!-- 这边省略了前一节讲的表单部份 -->
    <!-- 加上显示 error 可再依照需求作更动 -->
    @if ($errors->any())
        <ul class="alert alert-danger">
        @foreach($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
        </ul>
    @endif
第二种方法 直接在 controller 里做验证
// 这行要加上
use Illuminate\Http\Request; class ArticlesController extends Controller { public function store(Request $request)
{
// 验证条件的写法跟前面的一样 有错误一样会导回原表单页并显示错误
$this->validate($request, ['title'=>'required']); Article::create($request->all());
return redirect('articles');
} }
[Laravel 5] 表单验证 Form Requests and Controller Validation的更多相关文章
- 【干货】Laravel --Validate (表单验证) 使用实例
		前言 : Laravel 提供了多种方法来验证应用输入数据.默认情况下,Laravel 的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验 ... 
- 2016/2/25  1、<表单验证<form></form>  2、正则表达式   3、事件
		1.<表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电 ... 
- laravel框架——表单验证
		创建路由 Route::get('test','VerController@index'); Route::post('tosubmit','VerController@tosubmit'); 在控制 ... 
- laravel的表单验证(下面有些信息未验证,转的)
		后台写法: 1.1类的方法 $rules = [ 'email'=>'required|between:4,20', 'password'=>'required|between:6,20' ... 
- 最适合入门的Laravel中级教程(三)表单验证
		做开发有个原则是永远不能信任用户输入的数据: 即便前端已经做了验证: 在后端 php 也必须要再次验证: laravel 为表单验证提供了强大且简单的方案: 创建示例路由: routes/web.ph ... 
- form表单验证和事件、正则表达式
		1.表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电话号码, ... 
- 2016年11月6日--form表单验证和事件、正则表达式
		1.表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电话号码, ... 
- form表单验证和事件
		1.表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电话号码, ... 
- 走进AngularJs  表单及表单验证
		年底了越来越懒散,AngularJs的学习落了一段时间,博客最近也没更新.惭愧~前段时间有试了一下用yeoman构建Angular项目,感觉学的差不多了想做个项目练练手,谁知遇到了一系列问题.yeom ... 
随机推荐
- html标签总结。
			接触了一段时间的html和css,发现了其中的乐趣.在写代码时一定要仔细,很有可能一个细微的错误便会导致页面的错误 总结了一下html标签. <html></html> 创建一 ... 
- vsftpd限制用户不能更改根目录
			在IE下登陆会出现如下图所示情况,当时直接吓尿了,尼玛这台危险了.仔细一想可定是在配置vsftpd.conf时没有设置用户不能更改根目录: 
- SVN多次重复验证
			在MyEclipse中使用svn checkout时,总是弹出密码验证信息,原因是在首次保存密码时与服务器的密码不一致,而每次都是读取的本地密码导致重复验证,这里我们可以删除本地 的密码信息,问题解除 ... 
- php 7 正式发版
			php 7 正式发版 php 在 2015年 12月 3 日 正式发布了 php7 以下是php7的新特性 性能是php5.6的2倍 显著的减少了内存的使用 抽象语法书 64位的支持 提高了异常层次 ... 
- JS数组操作常用方法
			toString():把数组转换成一个字符串 toLocaleString():把数组转换成一个字符串 join():把数组转换成一个用符号连接的字符串 shift():将数组头部的一个元素移出 un ... 
- what oop ?
			最近在做一个app的后台代码.......到底是什么是Oop ,没有感觉到啊,,,,, 
- C语言如何定义结构体
			原文地址 1. struct与typedef struct区别 struct是结构体的关键字,用来声明结构体变量如 struct student { char num[10]; ch ... 
- Python核心编程笔记---- print
			在仅用变量名时,输出的字符串是用单引号括起来的.这个是为了让非字符串对象也可能以字符的形式显示在屏幕上. 而print 函数打印出来的是变量的值. print 调用的是str()方法.而仅用变量名时调 ... 
- Exchange Web Service 获取邮件的附件并保存到本地的示例代码
			private static void DownLoadMailAttachments(ExchangeService service, ItemId itemId) { EmailMessage m ... 
- poj1658
			#include <stdio.h> #include <stdlib.h> int main() { int n; scanf("%d",&n); ... 
