第七章 服务 ―― 验证.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
服务 ―― 验证 服务 —— 验证 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

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档