【问题标题】:Laravel 5.2,set validation for POST method, not for GETLaravel 5.2,为 POST 方法设置验证,而不是 GET
【发布时间】:2016-03-02 11:54:35
【问题描述】:

我正在学习 Laravel 5.2。我正在尝试做一个表单验证示例。已阅读文档进行验证,并且我的代码使用创建和存储方法使用验证请求类正在工作。现在我正在尝试以相同的方法同时执行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

不能做这样的事情吗?

【问题讨论】:

    标签: validation laravel-5.2


    【解决方案1】:

    如果你在你的 myRequest 验证文件中看到,你会发现这个方法。

    public function authorize()
    {
        return false;
    }
    

    这是为了,只允许那些对该部分/帖子/评论等具有真实性的用户。所以将其更改为

    public function authorize()
    {
        return true;
    }
    

    还有一件事供您参考,这不是使用 GET 方法传递验证请求对象的正确方法,它总是使用 POST/PUT/Delete 方法传递

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-12
      • 2017-11-27
      • 2018-10-12
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多