Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5-验证多个请求_Php_Validation_Request_Laravel 5 - Fatal编程技术网

Php Laravel 5-验证多个请求

Php Laravel 5-验证多个请求,php,validation,request,laravel-5,Php,Validation,Request,Laravel 5,在Laravel 5中,是否可以验证多个请求,以便在表单提交后插入相关模型? 我知道如何使用验证器来验证多个模型,但我想用Request类来验证 拉维4: 拉威尔5: 请求一个 class CreateUserRequest extends Request { public function rules() { // } } 请求两个 class CreateRoleRequest extends Request { public funct

在Laravel 5中,是否可以验证多个请求,以便在表单提交后插入相关模型?
我知道如何使用验证器来验证多个模型,但我想用Request类来验证

拉维4: 拉威尔5: 请求一个

class CreateUserRequest extends Request {

    public function rules()
    {
        //
    }
}
请求两个

class CreateRoleRequest extends Request {

    public function rules()
    {
        //
    }
}
控制器型号调用:

public function store(CreateUserRequest $request, CreateRoleRequest $request2)
{
    //
}
如何使用请求方法验证用户输入值和角色输入值?
(如果验证失败,有一个特定的反馈)

首先,使用多个表单请求类可以很好地工作


当然,你不能一次就有两种形式。但是,要分隔数据,可以使用字段名的数组语法:

<input type="text" name="user[name]" />
<!-- and later -->
<input type="text" name="role[name]" />
要创建这两个模型,只需使用它来获取
用户
角色
的所有属性:

$request->input('user'); // returns an array like ['name' => 'foo', 'other-user-field' => 'bar']
$request->input('role'); // returns an array like ['name' => 'baz', 'other-role-field' => 'boom']

我当然知道。正如我所尊敬的,它根本不起作用。我认为我们不能使用2请求作为参数。每个输入字段都附加到第一个请求参数。不工作意味着只验证一个请求?准确地说。我想我可以在一个请求中验证所有内容,但我想通过分离验证以更简洁的方式来完成。我刚刚尝试过,它实际上与类型暗示两个请求类一起工作。(调用了两个
validate()
方法)。我想在你的真实代码中,你没有
CreateUserRequest
UserRequest
差异?哦,是的,抱歉刚刚编辑过。我能看看你是怎么管理一切的吗?比如表单中有什么,请求中有什么,控制器中有什么。一个有效的例子,或者我不知道。您的请求如何知道需要检查哪些输入以及没有检查哪些输入?谢谢,我如何更改
lang/en/validation.php
中属性中显示的名称。当名称只是
user
时,我可以添加
'name'=>'name',
,但对于数组,我不知道该怎么做<代码>'role.name'=>'name'不起作用,我相信您可以添加一个嵌套数组。所以是
'role'=>['name'=>'name']
做的。还有一个问题。当我在
公共函数规则(MyRequest$request,SecondRequest$request){…}中进行验证时
是否可以同时触发两个请求?现在,如果验证没有同时传递两个请求,我只会得到第一个请求的错误:
MyRequest
,而
SecondRequest
只会在
MyRequest
传递之后触发。@dbr我认为这是不可能的。如果你需要更多的帮助,请问一个新问题。
public function rules(){
    return [
        'role.name' => 'required'
    ];
}
$request->input('user'); // returns an array like ['name' => 'foo', 'other-user-field' => 'bar']
$request->input('role'); // returns an array like ['name' => 'baz', 'other-role-field' => 'boom']