股票场内基金交易,没时间盯盘?

   
使用优财助手电脑客户端记录下您的股票买入卖出数据,能帮您时刻盯盘,会根据您记录的未售出买入价计算上涨或下跌幅度,及时弹框通知您。想知道如何使用?快点击左方视频观看了解吧~~下载地址:http://youcaizhushou.com

Form Request验证方式

前言

上一节主要针对时间、日期方面做了些讲解。本节依然是对文章创建方面的完善,对表单的验证方面进行一个讲解。

说明

开发环境:windows 7
laravel版本: 5+
IDE: phpstorm

新的问题

截止上节,当我们的“标题”、“文章”什么都不填然后点击“提交”按钮后(你可以试试),依然能发表文章。这显然是不对的。
我们该怎么解决这个问题,直觉上,至少我们应该对这些表单的内容是否为空进行判断。但是放到laravel中它提供了更方便的方式进行表单验证,下面我们看一下。

两种解决方案

通过Form Request

laravel的Form Request功能提供了标准化验证,所有需要验证的过程或行为都被规范到Form Request这个类中。这个类中有两个方法:authorize()和rules()。authorize()方法是用来判断用户是否有权限做出此次请求;rules()是将需要约束的属性放到一个数组中返回。
下面我们创建一个Form Request。

此时会在app/Http/Requests/下面生成创建出一个新的类,名为CreateArticleRequest。打开该类可以看到两个默认存在的方法:authorize()和rules()。
对于authorize(),我们置为true,因为目前来说我们没有“用户”这个概念,所有打开articles/create页面的人都可以创建文章,所以都授权。你可以试试false。
对于rules(),也就是“规则”,我们要在这个方法里定义一些规则来约束表单的请求。我们的表单中有哪些不能为空?标题(title)、内容(body)和时间(publish_at)。
这里我们将这些不能为空的字段放到rules()的数组中:

写好之后打开ArticleController.php,将store()方法修改如下:

store()方法的形参变成了CreateArticleRequest类。背后的运作机理是这样的:当用户在创建文章点击提交按钮后,这个请求首先被laravel的CreateArticleRequest.php截取到进行各项验证,包括标题、内容、日期,他们是否为空、是否符合规则(比如标title至少3个字符、published_at是date格式)。如果这一切都满足规则才到store()方法体中进行执行。

修改完之后,启动服务器,打开浏览器看一下效果。在地址栏输入localhost:8888/articles/create,什么都不填点击提交按钮。不会跳转到文章列表页面,也没提示,这不太友好。

那我们写一个提示吧

打开resources\views\articles\create.blade.php,在{!! Form::close()!!}下面添加如下代码:

此时保存并在浏览器打开create页面的时候会报错,说找不到errors这个变量,具体错误原因请看这里
这里简单提一嘴,这个变量是laravel 5.2里不提供的,5.2之前的版本都是默认自带的。

那么怎么让它提供呢,打开app/Http/routes.php,将之前所有的Routes路由都包在Route::group([‘middleware’ => [‘web’]], function () {…});中:

此时再打开create页面就不会报错。
此时再提交留空表单,会看到下方有红色的提示字体。

不用Form Request

什么叫不用Form Request?就是不使用Form Request了呗。打开ArticleController.php,看一下父类Controller的细节,发现:

父类已经引入了ValidatesRequests,所以我们的验证方式可以在controller中完成。
再看一下ValidatesRequests的细节:

这个方法内通过验证工厂类对请求进行验证,这是laravel的内部机制了。此处,我们只关心$request和$rules这两个形参就好,都是比较熟悉的。下面尝试用一下吧。

打开ArticleController.php,将store()方法的形参CreateArticleRequest修改为Request,如下:

之前的CreateArticleRequest是use App\Http\Requests\CreateArticleRequest引入的,而现在的是use Illuminate\Http\Request引入的。

好了,此刻,再在地址栏输入localhost:8888/articles/create,留空提交,依旧可以看到下方的提示信息。

总结

本节主要对一些涉及到需要验证的情况作了一个简单的示范,通过两种方式来进行表单验证。但是还是推荐使用Form Request来进行表单验证,1、毕竟laravel提供了这样的一种方式;2、分离各种功能模块,让专业的人做专业的事,更合理的资源分配。

   

想获得去掉 5 元限制的证券账户吗?

证券交易股票基金的佣金,不足 5 元会按照 5 元收取。比如交易 1000 元的股票,按照普遍的证券佣金手续费率万 2.5,其交易佣金为 0.25 元,小于 5 元,实际会收取佣金 5 元,买卖两次需要支付 10 元佣金成本,1% 的利润就这样没了。

如果您想去掉最低交易佣金 5 元限制,使用微信扫描左边小程序二维码,访问微信小程序「优财助手」,点击底部菜单「福利」,阅读文章「通过优财开证券账户无最低交易佣金 5 元限制」,按照文章步骤操作即可获得免 5 元证券账户,股票基金交易手续费率万 2.5。

请注意,一定要按照文章描述严格操作,如错误开户是无法获得免 5 元证券账户的。

发表评论

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