我已经为此苦了一段时间了。这是我得到的代码。
public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|max:100' ]); if ($validator->fails()) { //do something } }
问题是,我的脸上出现了FatalThrowableError错误,并显示以下消息:
调用数组中的成员函数parameter()
我找不到我在做什么错。在此感谢您的帮助。而且,在进行此验证之前,我已经进行了以下验证:
$this->validate($request, [
'name' => 'required|unique:developers|max:100'
]);
但是与此有关的是,我不知道验证失败时如何捕捉。以这种方式使用时是否有可能赶上验证失败?
使用版本:“ laravel / lumen-framework”:“ 5.2。*”
一个FatalThrowableError
例外是由symfony的调试通常抛出低级别的异常ErrorHandler
。在流明中,队列工作器,PhpEngine,控制台内核和路由管道也使用它。
确保以下内容
.env.example
到.env
bootstrap/app.php
通过取消注释该行来确保在内部启用了它。$app->withFacades();
在Lumen 5.2.8内部,以下任何一种方法都可以工作。
以下内容实际上将返回带有错误的有效JSON对象。您没有详细说明用例,这还不够。使用这样的validate
调用的好处是,它实际上返回422
http状态代码,这表示未处理的实体。
$app->get('/', function (Request $request) {
$this->validate($request, [
'name' => 'required'
]);
});
使用外观也可以,尽管返回200
状态码。
$app->get('/', function (Request $request) {
$validator = Validator::make($request->only(['name']), [
'name' => 'required'
]);
if ($validator->fails()) {
return ['error' => 'Something went wrong'];
}
});
如果仍然无法使用,则Validator::make
可以使用来捕获默认的Validation异常。感觉有点。
$app->get('/', function (Request $request) {
try {
$this->validate($request, [
'name' => 'required'
]);
} catch (\Illuminate\Validation\ValidationException $e) {
// do whatever else you need todo for your use case
return ['error' => 'We caught the exception'];
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句