В моем проекте Laravel я создал поле ввода, в которое будет вводиться ссылка на учетную запись facebook. Этот ввод будет сохранен в базе данных. Затем я создаю объект этой таблицы и использую ссылку в теге. Я ожидал, что это приведет меня к данной ссылке учетной записи facebook. Но он создает такой маршрут / ссылка. Как я могу это решить.

Этот код предназначен для поля ввода

<div class="form-group col-md-12">
                          <label for="name" class=" form-control-label">
                             Facebook ID
                          <span class="reqfield">*</span>
                          </label>
                          <input type="text" id="fb_link" placeholder="Facebook ID" class="form-control" name="fb_link" required value="{{$data->fb_link}}">
                       </div>

И этот код предназначен для отображения ссылки:

</li><li><a href="{{$setting->fb_link}}"><span class="fa fa-play"></span>Facebook</a>

Файл находится здесь

1
Nabid Anzum 29 Авг 2020 в 18:30

2 ответа

Лучший ответ

Это делает клиентский браузер. Ничего общего с Laravel или Blade

Если href не начинается с протокола, то предполагается, что он является локальным для текущего сайта.

Вам нужно проверить ссылку, когда она вам дается, и если она начинается с http: // или https: //, оставьте ее в покое, иначе добавьте http: // к URL-адресу, прежде чем сохранять его в базе данных.

Переведите URL-адрес в нижний регистр, прежде чем проверять, выдан ли он HTTP: // или даже hTTp: //

1
Vikas Katariya 29 Авг 2020 в 16:20

Это потому, что в вашем URL отсутствует PROTOCOL (http, https и т. Д.)

Вам нужно добавить действительный protocol с URL-адресом перед сохранением в базу данных или в вашем представлении.

Пример, на ваш взгляд:

</li><li><a href="http://{{$setting->fb_link}}"><span class="fa fa-play"></span>Facebook</a>

Вы также можете использовать метод проверки Laravel inbuild, чтобы проверить, введенный пользователем URL-адрес действителен или нет. Проверьте https://laravel.com/docs/7.x/validation#rule. -url

1
OMi Shah 29 Авг 2020 в 16:25