Laravel 5.2,为 POST 方法设置验证,而不是 GET
Laravel 5.2,set validation for POST method, not for GET
我在学习Laravel 5.2。我正在尝试进行表单验证 example.Have 阅读文档进行验证,我的代码使用创建和存储方法使用验证请求 class 正在工作。现在我正在尝试以相同的方法同时执行 POST
和 GET
。我已经创建了我的 request
class,我的规则方法定义为这个
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
不可能做这样的事情吗?
如果你在你的 myRequest 验证文件中看到,你会发现这个方法。
public function authorize()
{
return false;
}
这是为了,只允许那些对此 section/post/comment 是真实的用户等。所以将其更改为
public function authorize()
{
return true;
}
还有一件事供您参考,这不是使用 GET
方法传递验证请求对象的正确方法,它总是使用 POST/PUT/Delete 方法传递
我在学习Laravel 5.2。我正在尝试进行表单验证 example.Have 阅读文档进行验证,我的代码使用创建和存储方法使用验证请求 class 正在工作。现在我正在尝试以相同的方法同时执行 POST
和 GET
。我已经创建了我的 request
class,我的规则方法定义为这个
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
不可能做这样的事情吗?
如果你在你的 myRequest 验证文件中看到,你会发现这个方法。
public function authorize()
{
return false;
}
这是为了,只允许那些对此 section/post/comment 是真实的用户等。所以将其更改为
public function authorize()
{
return true;
}
还有一件事供您参考,这不是使用 GET
方法传递验证请求对象的正确方法,它总是使用 POST/PUT/Delete 方法传递