Laravel 5.2,为POST方法设置验证,而不是为GET

时间:2016-03-01 18:37:52

标签: validation laravel-5.2

我正在学习Laravel 5.2。我正在尝试做一个表单验证示例。已经使用验证请求类使用create和store方法读取了验证文档和我的代码。现在我尝试在同一方法中同时执行POSTGET。我创建了我的request类,我的规则方法定义为此

public function rules()
    {   
        if($this->method() == 'POST'){
            return [
                'first_name' => 'required'
            ];

        }else{
            return [];
        }
    }

我的控制器方法声明为

public function create(myRequest $request){
 //save and display the data
}

但是当我加载我的方法时,我得到一个空白页面,forbidden。我尝试为GET返回null值,但它不起作用。

    Argument 2 passed to Illuminate\Validation\Factory::make() 
must be of the type array, null given

不可能做这样的事情吗?

1 个答案:

答案 0 :(得分:0)

如果您在myRequest验证文件中看到,您将找到此方法。

public function authorize()
{
    return false;
}

用于,只允许那些对此部分/帖子/评论等有真实性的用户。所以改为

public function authorize()
{
    return true;
}

还有一件事要提供您的信息,这不是使用GET方法传递验证Request对象的正确方法,它始终使用POST / PUT / Delete方法传递