2016-03-23 24 views
1

我被写入方法的规则()的请求类验证输入数据,Laravel:如何指定画面时,错误校验

class AAARequest extends Request 
{ 
    public function rules() 
    { 
     ..... 
     ..... 
    } 
} 

而且我控制器代码:

class AAAController extends Controller 
{ 
    public function add() 
    { 
     ..... 
     ..... 
    } 

    public function addConfirm(AAARequest $request) 
    { 
     ..... 
     ..... 
    } 

    public function addSave(AAARequest $request) 
    { 
     ..... 
     ..... 
    } 
} 

我的流程:

ADD屏幕 - >提交 - >验证输入数据

  1. OK:去,以确认屏幕
  2. NG:在添加画面

CONFIRM屏幕显示错误信息 - >提交 - >验证输入数据

  1. OK:去节省屏幕
  2. NG :显示错误信息广告ADD屏幕

但是因为使用通过请求类的验证。所以,当从确认屏幕提交到保存屏幕。如果验证失败,Laravel自动重新回到CONFIRM屏幕。

但是,我想回到添加屏幕。我如何配置来做到这一点?

回答

1

在您的AAARequest中,您可以定义$redirect = 'path/to/add-form'属性,如果验证失败,验证器会将您重定向到该页面。

还有一种方法,如果您不想混淆字符串路径,则可以定义redirectRouteredirectAction属性。 https://github.com/laravel/framework/blob/5.2/src/Illuminate/Foundation/Http/FormRequest.php

+0

你不理解我:

如果您想了解更多详细信息,您可以深入到这些代码。我的问题是不保留输入数据。我的问题是如何在获得错误验证时自定义Request类以指定目标。 –