Проверьте поле: required_if, если URL содержит параметр в Laravel - PullRequest
0 голосов
/ 05 октября 2018

Есть ли способ проверить обязательное поле, если запрошенный URL-адрес содержит какой-либо параметр?

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Перед проверкой необходимо сначала проверить маршрут ....

$roles =[
    'title' => 'required|unique:posts|max:255',
    'author.name' => 'required',
    'author.description' => 'required',
];

if(Route::getCurrentRoute()->getPath() == "xxxxx"){
    $role['desc'] = 'required'
}

if(\Request::route()->getName() == "yyyy"){
    $role['desc'] = 'required'
}

if($request->is('admin/*')){
    $role['desc'] = 'required'
}

$this->validate($request, $role);
0 голосов
/ 05 октября 2018

Если вы используете Форма запроса , вы можете просто использовать условие PHP.

public function rules()
{
    $rules = []; // here you put some rules

    // here you check condition and add some rule when it's true
    if (str_contains($this->input('url'), 'something')) {
       $rules['some_other_field'] = 'required';

    }

    return $rules;
}
...