环境说明

windows10
laravel 5.2
php 5.6.15
apache 2.4.17
Homestead v2.1.8

Laravel5.2简单介绍

Laravel 5.2 在 5.1 基础上继续改进和优化:添加多认证驱动支持、隐式模型绑定、简化 Eloquent 全局作用域、可选择的认证脚手架、中间件组、访问频率限制、数组输入验证改进等等。

安装laravel 5.2

在终端通过Composer的create-project命令来安装Laravel5.2应用

数组输入验证改进

在新版的 laravel 5.2 中,开发者对数组的输入验证做了改进,使原来烦人的数组验证变得非常的简单,接下来让我们来学习,开发者对数组输入验证做了哪些改进。

新建视图

要看效果,当然要先准备好视图,所以我们把 laravel 自动生成的 welcome.blade.php 修改一下,修改代码如下:

然后我们访问 http://www.validating.com/(注:这是我本地配置的虚拟网址,如没有配置请访问 localhost:8080),可以看到我们访问的时候是报错的,错误信息是 Session store not set on request ,这是因为我们在视图当中设置了 old(保存上一次的记录),效果图如下:

enter image description here

要如何能够正常的访问我们的链接,接下来让我们先来看一个中间件,找到文件 app/Http/Kernel.php ,在这个文件当中我们可以看到有个 web 中间件组,代码如下:

看来上面的代码你应该可以理解了这个 web 中间件组的用处,所以我们修改路由代码如下:

这时候我们再来访问之前的链接,就可以看到正常的视图了,效果图如下:

enter image description here

实现数组验证

在视图当中,我们使用的是 POST 请求,所以在来注册一个路由,并且来输出看一下效果,代码和图如下:

enter image description here

在效果图中我们可以看到返回的是一个数组,接下来,让我来实现数组的验证,修改之前的路由,代码如下:

然后访问链接,随便输入一些数字,点击提交后,可以看到页面是报错的,为什么的呢,这里我们返回的到视图当中,可以看到我们设置的value值都是email,而我们的 email 其实是一个数组,所以才会报错,所以我们修改视图,代码如下:

这时候我们再来访问页面,当输入正确的邮箱地址的时候会看到一下效果图,同时当输入错误的时候看到页面没有任何的变化,图如下:

enter image description here

到这里,我们已经完成了如何实现数组验证,如果你想要看到输入错误出现提示效果的话,修改视图,代码如下:

然后访问页面,输入内容,得到以下效果图:

enter image description here

当然你可以通过修该路由来显示错误提示,代码以及效果图如下:

在控制器中实现数组验证

首先通过 php artisan make:controller InvitationsController 命令来新建一个控制器,在控制器中编辑一下内容:

然后在路由器中注册一个路由,代码如下:

最后,我们访问页面,输入内容,得到的结果和之前的一模一样,效果图如下:

enter image description here

总结

  • 通过这节的内容,我们可以了解到数组输入验证是如何实现的,特别要注意的一点是获取数组的时候要 * 这个符号来获取,同时在视图中,要把数组的键值填写好,要不然会报错。
Tagged:

发表评论

电子邮件地址不会被公开。 必填项已用*标注