如果在laravel中验证失败,代码将被执行或停止?

如果在laravel中验证失败,代码将被执行或停止?,laravel,laravel-5,Laravel,Laravel 5,我想知道如果在laravel中验证失败会发生什么,这意味着其余的代码将被执行或不执行。我有以下代码存储方法 $this->validate($request, [ 'name' => 'required|min:3', 'email' => 'required|email', 'message' => 'required', ]); return response()->json([ 'success' => 'Your em

我想知道如果在laravel中验证失败会发生什么,这意味着其余的代码将被执行或不执行。我有以下代码存储方法

$this->validate($request, [
    'name' => 'required|min:3',
    'email' => 'required|email',
    'message' => 'required',
]);

return response()->json([
    'success' => 'Your email has been sent successfully.'
]); 
我已经使用
$validator->fails())
进行了检查,但它没有返回我在if语句中添加的错误消息

if($validator->fails()) {
    return response()->json([
        'error' => 'There are some errors.'
    ]); 
}else{
    return response()->json([
        'success' => 'Your email has been sent successfully.'
    ]); 
}
有谁能给我指点一下我的问题,我很感激。多谢各位

if($validator->fails())
    return Redirect::back()->withInput()->withErrors($validator);
然后客户端:

<ul class="errors">
@foreach($errors->all() as $message)
  <li>{{ $message }}</li>
@endforeach
</ul>
    @foreach($errors->all()作为$message)
  • {{$message}}
  • @endforeach

验证失败时,不会在您的案例中引发异常。根据:

validate方法接受传入的HTTP请求和一组 验证规则。如果验证规则通过,代码将保留 执行正常;但是,如果验证失败,将出现异常 抛出,正确的错误响应将自动发回 给用户。在传统HTTP请求的情况下,重定向 响应将被生成,而JSON响应将被发送到 AJAX请求

如果不想使用ValidateRequests特性的validate 方法,您可以使用 验证器外观。facade上的make方法生成一个新的 验证器


好的,谢谢,我可以添加适当的
如果还有
语句吗<代码>如果($validator->fails()){..}否则{..}
我没有尝试过您描述的情况。它返回的错误
对非对象的成员函数调用失败()
您是在进行API开发还是使用视图的表单(使用刀片)?@h44f33z我正在使用视图的表单(使用刀片)您的第一个代码
$this->validate(…)
应该已经可以工作了,只需要在您的刀片视图中输出@kris提到的错误。您可以使用$validator->errors()->messages()或查看关于Laravel Validation@JokoWandiro的文档。我按照您的指示进行了尝试,但在非对象上返回一个错误
对成员函数的调用失败()
public function store(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'title' => 'required|unique:posts|max:255',
            'body' => 'required',
        ]);

        if ($validator->fails()) {
            return redirect('post/create')
                        ->withErrors($validator)
                        ->withInput();
        }

        // Store the blog post...
    }
}