Для простого подхода я рекомендую вам использовать Ajax из jQuery, при этом вам не нужно слишком много менять, добавить еще один маршрут для API, проверку данных в базе данных и несколько JavaScript строк код. Вы можете попробовать следующий способ:
Контроллер :
use Your\Namespace\Path\Of\Model Model
Class ABC {
...
public function checkExist(){
$data = request()->get('data'); // get data to check
$model = new Model();
$where = ['id' => $data]; // passing your where condition to check
return $model->where($where)->get()->count() > 0;
}
}
Файл маршрута (web.php / api. php):
Route :: get ('checkExist', 'ABC@checkExist');
Просмотр
<form action"/send" method="post">
<div id="info1">
<!-- info about first item -->
</div>
<div id="info2">
<!-- info about second item -->
</div>
<div id="info_default">
<!-- if customised item is chosen, show this one -->
</div>
<div id="info_does_not_exist">
<!-- if cannot find the input item in database, show this one -->
</div>
<button type="submit">submit</button>
</form>
...
<script>
$(function(){
// every time input change, check value existence in database
$('.info2 input').change(function(){
let input_value = $(this).val();
$.ajax({
url: "{{ route('checkExist') }}",
method: "GET",
data: {"id": input_value},
success: function(response){
// process if/else to show div '.info_default' / '.info_does_not_exist'
if (response) {
// show '.info_default' and hide '.info_does_not_exist'
} else {
// show '.info_does_not_exist' and hide '.info_default'
}
}
});
})
})
</script>
Это не настоящий исполняемый код , просто идея, по этому вы можете настроить ее в зависимости от вашего дальнейшего желания. Надеюсь, это поможет