Laravel 验证规则数组不工作
Laravel Validation Rule array not working
我尝试将所有验证规则放入我的数据库并将其放入数组
为什么当你把它放在数组中时不起作用?
$data = model::where('page','post.create')->get();
foreach($data as $value){
$Rules[] = array($value->post_name => $value->validation);
}
$validator = Validator::make($request->all(), [$Rules]);
请正确阅读Laravel文档:https://laravel.com/docs/5.6/validation
错误出在你在 Validator::make
中的第二个参数中,你必须传递一个包含 'field' => 'validation_rule'
对的数组。例如
[
'title' => 'required|unique:posts|max:255',
'body' => 'required'
]
此代码 $Rules[] = array($value->post_name => $value->validation);
将自动附加数字数组,例如:
[
'title' => 'required|unique:posts|max:255'
],
[
'body' => 'required'
]
这不是你想要的。你也可以尝试学习调试我的朋友。尝试通过 运行 dd($Rules);
检查 $Rules
的值。
所以正确的语法是这样的:
$data = model::where('page','post.create')->get();
foreach($data as $value){
$Rules[$value->post_name] = $value->validation;
}
$validator = Validator::make($request->all(), $Rules);
$data = model::where('page','post.create')->get();
foreach($data as $value){
$Rules[] = array($value['post_name'] => $value['validation']);
}
$validator = Validator::make($request->all(), $Rules);
我认为你应该在第 3 行的数组中给出变量名,而对于使用数组 $Rules
你不应该在第 5 行的方括号中给出变量名。
我尝试将所有验证规则放入我的数据库并将其放入数组 为什么当你把它放在数组中时不起作用?
$data = model::where('page','post.create')->get();
foreach($data as $value){
$Rules[] = array($value->post_name => $value->validation);
}
$validator = Validator::make($request->all(), [$Rules]);
请正确阅读Laravel文档:https://laravel.com/docs/5.6/validation
错误出在你在 Validator::make
中的第二个参数中,你必须传递一个包含 'field' => 'validation_rule'
对的数组。例如
[
'title' => 'required|unique:posts|max:255',
'body' => 'required'
]
此代码 $Rules[] = array($value->post_name => $value->validation);
将自动附加数字数组,例如:
[
'title' => 'required|unique:posts|max:255'
],
[
'body' => 'required'
]
这不是你想要的。你也可以尝试学习调试我的朋友。尝试通过 运行 dd($Rules);
检查 $Rules
的值。
所以正确的语法是这样的:
$data = model::where('page','post.create')->get();
foreach($data as $value){
$Rules[$value->post_name] = $value->validation;
}
$validator = Validator::make($request->all(), $Rules);
$data = model::where('page','post.create')->get();
foreach($data as $value){
$Rules[] = array($value['post_name'] => $value['validation']);
}
$validator = Validator::make($request->all(), $Rules);
我认为你应该在第 3 行的数组中给出变量名,而对于使用数组 $Rules
你不应该在第 5 行的方括号中给出变量名。