Пожалуйста, внимательно прочитайте документацию 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'
]
И это не то, что вам нужно.Вы также можете попробовать научиться отлаживать мой друг.Попробуйте проверить значение $Rules
, запустив dd($Rules);
.Итак, правильный синтаксис такой:
$data = model::where('page','post.create')->get();
foreach($data as $value){
$Rules[$value->post_name] = $value->validation;
}
$validator = Validator::make($request->all(), $Rules);