Laravel 表单验证
打赏作者

kanjiushi

有了用户系统,authorize那里应该怎么办?

JellyBool

就保留为false,然后laravel就会检验了 @kanjiushi

tmxq56 回复 JellyBool

老大,我发现视频里面的音量调节搞反了。我用macbookpro,2个指头一起下滑音量升高,上滑音量降低。是不是应该反过来?

WineK 回复 tmxq56

这是你自己的mac设置问题,可以把触摸板的 滚动方向:自然 取消掉

tmxq56 回复 WineK

哈,果然,,,

bobby

@JellyBool jelly.为啥你的zsh输入命令的时候会有一个自动提示,也就是在你输入后面会跟着一个提示。这个是如何实现的?我用了Item2安装了zshell,用了默认的主题,但是,貌似都实现不了,这种效果。可以分享下吗?感谢!

JellyBool

在你的.zshrc文件配置一下你的 这一行:

plugins=(git autojump)

开启一下laravel插件试试? @bobby

bobby

@JellyBool 貌似没有效果哦

Forging2012

有人吗
farea
到底怎么使用呢?
windows下phpstorm也是一样的吗?怎么设置呢

jack

怎么把错误提示改为中文,或自定义的文本。怎么在鼠标光标焦点离开编辑框后就提示,而不是非要等到点提交按钮后才提示。

Ansel

使用request验证时出现了错误 ` ``BadMethodCallException in Validator.php line 2615:

Method [validateRequire] does not exist. ```是我有什么东西没引入么

sixand

好奇怪,我看代码是一样的,但是我得到的结果是Forbidden,没有重定向回文章列表

sixand

哈,我看了两遍,终于发现问题了。authorize没改成true

940575486

你们都好多了。。我的苹果机上环境变量都不知道怎么加。。现在还在用win7呢。。苦逼中。。

teddy

请问如果后台是restfulapi形式的话,前端怎么获取request返回的error这个变量?

Addison 回复 teddy

@teddy, 如果是前端访问后台 restful 形式的api,验证没有通过的情况,可以参考 issue#584

teddy

接上面的~~换个问法:后台怎么获取这个error?@JellyBool

鸡仔食饭米

请问输入 errors 后,按什么快捷键能直接输出下面这段长代码?

JellyBool

你看看phpstorm的教程 @鸡仔食饭米

aisq2008

我在blade界面文件在显示错误信息时,出现以下错误

Call to a member function any() on a non-object

怎么回事啊

imydou

提醒各位5.2路由要写这里边,要不然会有未定义$errors报错

Route::group(['middleware' => ['web']], function () {
    Route::get('/articles','ArticlesController@index');
    Route::get('/articles/create','ArticlesController@create');
    Route::get('/articles/{id}','ArticlesController@show');
    Route::post('/articles','ArticlesController@store');
});
thinkings

@JellyBool

学这人视频的时候,只要加上了@if(errors->any())这行,就会报错,意思好像是没有定义errors.

ErrorException in 231fc75b6c74a1fbf052a6dfb956055729407119.php line 32:
Undefined variable: errors
in 231fc75b6c74a1fbf052a6dfb956055729407119.php line 32
at HandleExceptions->handleError('8', 'Undefined variable: errors', '/Users/thinkings/jjcs/storage/framework/views/231fc75b6c74a1fbf052a6dfb956055729407119.php', '32', array('__path' => '/Users/thinkings/jjcs/storage/framework/views/231fc75b6c74a1fbf052a6dfb956055729407119.php', '__data' => array('__env' => object(Factory), 'app' => object(Application)), 'obLevel' => '0', '__env' => object(Factory), 'app' => object(Application))) in 231fc75b6c74a1fbf052a6dfb956055729407119.php line 32
at include('/Users/thinkings/jjcs/storage/framework/views/231fc75b6c74a1fbf052a6dfb956055729407119.php') in PhpEngine.php line 42
at PhpEngine->evaluatePath('/Users/thinkings/jjcs/storage/framework/views/231fc75b6c74a1fbf052a6dfb956055729407119.php', array('__env' => object(Factory), 'app' => object(Application))) in CompilerEngine.php line 59
at CompilerEngine->get('/Users/thinkings/jjcs/resources/views/createitem.blade.php', array('__env' => object(Factory), 'app' => object(Application))) in View.php line 135
at View->getContents() in View.php line 106
at View->renderContents() in View.php line 80
at View->render() in Response.php line 53
thinkings

@imydou 谢谢,原来是这样,我说我怎么看都跟视频里写的一样,却总是提示出错。谢谢。

thinkings

@imydou @JellyBool

想到一个问题,如果用5.1写的LARAVEL程序 ,然后升级到5.2
那像这个$errors变量的使用方法,升级后是不是就会这样出错?

yoyo

为啥我的request类找不到?

JellyBool

composer dump-autoload @yoyo

yoyo

@JellyBool 试了,没用,就是找不到

JellyBool

额。将那个 store(\Request)\去掉试试 @yoyo

偶叫懒猪

感觉这个做ajax的数据提交好牛B。

zyy

怎么苹果手机看不了视频

JellyBool 回复 zyy

我这边测试的 6 和 6s 都是可以的

zyy 回复 JellyBool

我拿ipad 和 5s都不行,我还是老实电脑看把,谢谢哈

JremeryHe

为什么我的会报错 Undefined variable: errors (View: D:\amp\www\laravel\laravel1\resources\views\articles\myform.blade.php) 我也是按照步骤敲进去的代码

JellyBool 回复 JremeryHe

估计是你的 laravel 版本是 5.2 的某个版本,要么更新版本,要么把路由写在 web 这个 middleware 里面,具体可以看这个:

https://laravist.com/series/what-is-new-in-laravel-5-2-series/episodes/5

JremeryHe 回复 JellyBool

好的谢谢~,我去看看

liudong0763

很好的视频,感谢JB

JellyBool 回复 liudong0763

额。。。你这。。。

CallMeZ 回复 JellyBool

这缩写,23333

time朝歌晚酒

如果第一种方法验证的时候,使用的api接口。怎么返回给前端错误信息呢

ReviveKwan

引入CreatexxxxRequest 验证实例时,控制器记得加上use App\Http\Requests 不然会报找不到实例的错~!

ForeverPdq 回复 ReviveKwan

谢谢。。。为啥phpstorm不会自动引入呢

ccpone 回复 ReviveKwan

nice!!!

ForeverPdq

我用的是laravel5.3按照视频教程来的,用的是request来进行表单验证
store方法里 写了 public function store(Requests\storeArticleRequest $request)
为啥报错呢,报ReflectionException in Route.php line 339:
Class App\Http\Controllers\Requests\storeArticleRequest does not exist,困扰好久了。。。

ForeverPdq

解决了额,谢谢

826186458

在我自己写的表单提交的时候,提示报错如下: TokenMismatchException in line67,这里的token 不是 from的插件才会用的么?还是验证表单必须的???

JellyBool 回复 826186458

提交表单应该必须 token,普通的 html form 可以使用 csrf_field() 来生成

yaoye6262

如果我使用ajax 怎么在视图输出request的错误信息??

JellyBool 回复 yaoye6262

ajax 的话,在 controller 使用 validator 吧

yaoye6262 回复 JellyBool

使用php artisan request的方式无法获取ajax返回的json错误信息吗? 我想知道怎么样获取!

JellyBool 回复 yaoye6262

这个我不知道。。。好像这个应用场景不太对

wen-rou-de-wang

我按照视频上的代码写的,但是不显示错误信息。就是简单的刷新了一下。我明明在blade文件里写了代码的呀。。。有大神能帮我解决一下吗

yaozhibo

非常棒的视频,还会出更多的视频吗大神

JellyBool 回复 yaozhibo

会出的啊,一直都有在更新视频啊

不了了了了了之

为什么我输入errors加tab就只会出现""""""

不了了了了了之

<errors></errors>

echojson

怎么发图片呀。。

echojson

![](file:///C:\Users\Administrator\Desktop\laravel1.png)

老师你这个视频中,如何将Request $request 中的 Request 快速换成 Requests\CreateArticleRequest 的,我怎么提示不出来呢。求解,谢谢

JellyBool 回复 echojson

用 phpstorm 就可以了

MechelleWang

hello博主,请问你用的mysql管理工具是什么…

MechelleWang 回复 JellyBool

十分感谢!!

stevedjyz

为什么没见到middleware的使用?

JellyBool 回复 stevedjyz

middleware 跟表单验证没有什么关系吧,关于 middleware 的应用看这里 https://www.codecasts.com/series/dive-a-little-deep-into-laravel-5/episodes/3

stevedjyz 回复 JellyBool

老板 有没有文字版的。。。

JellyBool 回复 stevedjyz

并没有,不好意思

mordic10

为什么加了验证之后怎么输入啥都添加不上了呢

JellyBool 回复 mordic10

没通过验证规则吧

mordic10 回复 JellyBool

published_at没通过验证. 那个{!! Form::input(‘date’, ‘published_at’, date(‘Y-m-d’),[‘class’=>‘form-control’,‘style’=>‘width:500px;’]) !!}里面怎么填写传递过来的值呢,

戴草帽的小白

BadMethodCallException in Validator.php line 3295:
Method [validateRequire] does not exist.
in Validator.php line 3295
at Validator->__call(‘validateRequire’, array(‘username’, ‘admin’, array(), object(Validator))) in Validator.php line 485
at Validator->validateRequire(‘username’, ‘admin’, array(), object(Validator)) in Validator.php line 485
at Validator->validate(‘username’, ‘require’) in Validator.php line 425
at Validator->passes() in ValidatesWhenResolvedTrait.php line 24
at FormRequest->validate() in FoundationServiceProvider.php line 41 这是什么问题?是要引入哪个文件么?

戴草帽的小白

评论发不了图片 老师能帮我看一下么

戴草帽的小白
'bail|require|unique:posts|between:6,20', 'password' => 'bail|require|between:6,14', ]; } /** * @Author tst * @DateTime 2018-01-21 * @version 1.0 * 自定义错误消息 */ public function messages(){ return [ 'username.require' => '用户名不能为空', 'username.unique' => '用户名已存在', 'username.between' => '用户名在6-20个字符之间', 'password.require' => '密码不能为空', 'password.between' => '密码长度在6-14个字符之间', ]; } } 这是formrequest
JellyBool 回复 戴草帽的小白

require 改成 required ?

戴草帽的小白
make(); } //登录 public function check(CheckPublicPost $request){ //表单验证已经完成,验证成功后自动向下执行 $data = $request->all(); //$data = $request->input('admin'); //$data['password'] = md5($data['password']); //$admin = Admin::where($data)->first(); dd($data);die; if($admin){ //用户信息存储到session中 session(['admin'=>$admin]); //跳转到index(首页) return redirect('admin/index')->with('success','添加成功!'); }else{ return back()->with('error','用户名或密码错误!'); } } } 这是controller (占了很多地方不好意思)