- 6
- 0
- 约1.3万字
- 约 17页
- 2017-06-24 发布于福建
- 举报
服务 ―― 验证
服务 —— 验证
1、简介
Laravel提供了多种⽅法来验证应⽤输⼊数据。默认情况下,Laravel的控制器基类使
⽤ValidatesRequests trait ,该trait提供了 利的⽅法通过各种功能强⼤的验证规
则。
2、快速⼊门
要学习Laravel强⼤的验证特性,让我们先看⼀个完整的验证表单并返回错误信息给⽤
户的例⼦。
2.1 定义路由
⾸先,我们假定在app/Http/routes.php⽂件中包含如下路由:
// 显示创建博客⽂章表单...
Route::get(post/create, PostController@create);
// 存储新的博客⽂章...
Route::post(post, PostController@store);
当然,GET路由为⽤户显⽰了⼀个创建新的博客⽂章的表单,POST路由将新的博客
⽂章存储到数据库。
2.2 创建控制器
接下来,让我们看⼀个处理这些路由的简单控制器⽰例。我们先将store⽅法留空:
?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class PostController extends Controller{
/**
* 显示创建新的博客⽂章的表单
*
* @return Response
*/
public function create()
{
return view(post.create);
}
/**
* 存储新的博客⽂章
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
// 验证并存储博客⽂章...
}
}
2.3 编写验证逻辑
现在我们准备⽤验证新博客⽂章输⼊的逻辑填充store⽅法。如果你检查应⽤的控制
器基类 (App\Http\Controllers\Controller),你会发现该类使⽤了
ValidatesRequests trait ,这个trait在所有控制器中提供了⼀个 利的validate
⽅法。
validate⽅法接收⼀个HTTP请求输⼊数据和验证规则,如果验证规则通过,代码将
会继续往下执⾏;然⽽,如果验证失败,将会抛出⼀个异常,相应的错误响应也会⾃
动发送给⽤户。在⼀个传统的HTTP请求案例中,将会⽣成⼀个重定向响应,如果是
AJAX请求则会返回⼀个JSON 响应。
要更好的理解validate⽅法,让我们回到store⽅法:
/**
* 存储博客⽂章
*
* @param Request $request
* @return Response
*/
public function store(Request $request){
$this-validate($request, [
title = required |unique:posts|max :255,
body = required,
]);
// 验证通过,存储到数据库...
}
正如你所看到的,我们只是传递输⼊的HTTP请求和期望的验证规则到validate⽅
法,在强调⼀次,如果验证失败,相应的响应会⾃动⽣成。如果验证通过,控制器将
会继续正常执⾏。
2.3.1 嵌套属性注意事
如果HTTP请求中包含“嵌套”参数,可以使⽤“ .”在验证规则中指定它们:
$this-validate($request, [
title = required |unique:posts|max :255,
= required,
author.description = required,
]);
2.4 显⽰验证错误信息
那么,如果请求输⼊参数没有通过给定验证规则怎么办?正如前⾯所提到的,Laravel
将会⾃动将⽤户重定向回上⼀个位置。此外,所有验证错误信息会⾃动⼀次性存放到
session 。
注意我们并没有在GE
您可能关注的文档
- 第九章 机房培训20150529.ppt
- 第五节 消费结构1.ppt
- 零缺陷产生发展讲述.ppt
- 怎样获取统计数据.pdf
- javascript第二篇.ppt
- 第3篇 计算机硬件系统.ppt
- 第八章 光纤测温系统技术方案.doc
- 电子商务系统建设指南.ppt
- 第1篇网络技术.ppt
- 第五节 土地分配政策.ppt
- 新启航英语二年级上册Unit5 Festival Period 2 课件.ppt
- 10.相亲相爱一家人 情境化教学课件-统编版2026道德与法治一年级下册.ppt
- 7星星点点 AI赋能课件 2026人美版美术一年级下册.ppt
- 3.2 世界的气候类型(教学课件) 2025中图版地理八年级上册.ppt
- 5.1 发达国家与发展中国家的差异(教学课件) 2025中图版地理八年级上册.ppt
- 13.快乐的儿童节 情境化教学课件-统编版2026道德与法治一年级下册.ppt
- 新启航英语二年级上册Unit5 Festival Period 1 课件.ppt
- 2025冀教版数学三年级上册全册教学课件.ppt
- 地理试卷云南名校联盟2026届高三上学期第三次联考(12.25-12.26).docx
- 2025~2026学年第一学期 高一年级英语试卷.docx
原创力文档

文档评论(0)