Я использую blade.php
в своей разработке, и у меня есть проблема с проверкой, является ли ввод действительным URL-адресом Instagram.Я пытался сделать это:
<form class="search_form" id="apply" action=" method="post">
@csrf
<label>
<input type="url" pattern="https?://.+" required id="instagram" value="" placeholder="Instagram Post URL (Paste Here)">
</label>
<div class="flex_box">
<button class="btn pink applyfnsh_btn" type="button" id="save">Confirm</button>
</div>
</form>
ОБНОВЛЕНИЕ этот модальный отображается после проверки
<div class="applyfnsh_modal">
<div class="applyfnsh_box">
<div class="modal_close">
<img src="../../assets/images/close.png" alt="close">
</div>
<p>Success</p>
</div>
</div>
modal.js
$(".applyfnsh_btn").on("click", function(){
$(".apply_modal").toggleClass("open");
$(".applyfnsh_modal").toggleClass("open");
});
$(".applyfnsh_modal").on('click touchend', function(event) {
if (!$(event.target).closest('.applyfnsh_box').length) {
$(".applyfnsh_modal").toggleClass("open");
$("body").toggleClass("open");
}
});
местоположение здесь
<script src="{{ url('/assets/js/modal.js') }}"></script>
И, кстати, я использую ajax для сохранения данных в БД, чтобы страница не обновлялась.
<script>
$(document).on("click", "#save", function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "post",
url: '/contest/apply/{{ $contest->id }}',
data: {url : $("#instagram").val(), user_id: 1, contest_id: {{ $contest->id }} },
success: function(store) {
},
error: function() {
}
});
});
</script>
Это нене работает и даже обрабатывает данные при нажатии кнопки, даже если ввод не является URL-адресом или пустым.Есть ли способ сделать это без функции?