Проверка URL Laravel с использованием валидатора - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь проверить URL, чтобы убедиться, что он не содержит localhost.Я сделал это с помощью if-else и хочу сделать это с помощью пользовательского валидатора.Я заблудился, как это мог сделать валидатор.

if((strpos($request->input('url'), 'localhost') !== false) || 
    (strpos($request->input('url'), 'http://localhost') !== false) ||  
    (strpos($request->input('url'), 'https://localhost') !== false) ||  
    (strpos($request->input('url'), '127.0.0.1') !== false) ||
    (strpos($request->input('url'), 'http://127.0.0.1') !== false) ||
    (strpos($request->input('url'), 'http://127.0.0.1') !== false))
{
    return response()->json([
        'error_description' => 'Localhost in not allowed in URL'
    ], 403);
}

Ответы [ 3 ]

0 голосов
/ 07 февраля 2019

Вы уже можете достичь этого с существующей проверкой и регулярным выражением :

'url' => 'regex:/^http:\/\/\w+(\.\w+)*(:[0-9]+)?\/?$/',

Я не проверял это, но это творческий подход с существующими правилами проверки.

0 голосов
/ 07 февраля 2019

Вы можете использовать

'url'   => ['regex' => '/^((?:https?\:\/\/|www\.)(?:[-a-z0-9]+\.)*[-a-z0-9]+.*)$/'],

Надеюсь, это будет полезно

0 голосов
/ 07 февраля 2019

Вы можете использовать url валидатор laravel

https://laravel.com/docs/5.2/validation#rule-url

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...