Cha*_*let 14 php validation request laravel-5
是否可以在Laravel 5中验证多个请求,以便在表单提交后插入相关模型?
我知道如何使用Validators验证多个Model,但我想用Request Class来做.
$validateUser = Validator::make(Input::all(), User::$rules);
$validateRole = Validator::make(Input::all(), Role::$rules);
if ($validateUser->fails() || $validateRole->fails()){
$validationMessages = array_merge_recursive(
$validateUser->messages()->toArray(),
$validateRole->messages()->toArray()
);
}
Run Code Online (Sandbox Code Playgroud)
请求一个
class CreateUserRequest extends Request {
public function rules()
{
//
}
}
Run Code Online (Sandbox Code Playgroud)
要求两个
class CreateRoleRequest extends Request {
public function rules()
{
//
}
}
Run Code Online (Sandbox Code Playgroud)
控制器模型调用:
public function store(CreateUserRequest $request, CreateRoleRequest $request2)
{
//
}
Run Code Online (Sandbox Code Playgroud)
如何使用Request方法验证用户输入值和角色输入值?(如果验证失败,则会有特定的反馈)
luk*_*ter 12
首先,使用多个表单请求类非常正常.
当然,你现在不能只有两种形式.但是,分离数据的方法是使用字段名称的数组语法:
<input type="text" name="user[name]" />
<!-- and later -->
<input type="text" name="role[name]" />
Run Code Online (Sandbox Code Playgroud)
在验证规则中,您可以使用点语法来引用用户名或角色名称:
public function rules(){
return [
'role.name' => 'required'
];
}
Run Code Online (Sandbox Code Playgroud)
并创建两个模型,只是用它来获取所有属性的user和role:
$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']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6693 次 |
| 最近记录: |