Sorunumu çözdüm kodların (bende) çalışan kısmını aşağıya koyuyorum birisine faydası olur belki;
Controller sayfam
<?php
namespace App\Http\Controllers;
use App\Models\tblMukellefler;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
class TblMukelleflerController extends Controller
{
public function indexMukellef()
{
$muk = tblMukellefler::paginate(15);
return view('mukellef', compact('muk'));
}
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
"unvan" => "required",
"adi" => "required",
"soyadi" => "required",
"tcKimlik" => "required",
"email" => "required",
"telefon" => "required",
"kurulus" => "required",
"vergiDairesi" => "required",
"vergiKimlik" => "required",
"merkezAdres" => "required",
]);
if ($validator->fails()) {
return response()->json(['status'=>0, 'error'=>$validator->errors()->toArray()]);
} else {
$mukSave = new tblMukellefler();
$mukSave->defterTipi = $request->input('defterTipi');
$mukSave->unvan = $request->input('unvan');
$mukSave->adi = $request->input('adi');
$mukSave->soyadi = $request->input('soyadi');
$mukSave->tcKimlik = $request->input('tcKimlik');
$mukSave->email = $request->input('email');
$mukSave->telefon = $request->input('telefon');
$mukSave->kurulus = date("d-m-Y", strtotime($request->input('kurulus')));
$mukSave->vergiDairesi = $request->input('vergiDairesi');
$mukSave->vergiKimlik = $request->input('vergiKimlik');
$mukSave->merkezAdres = $request->input('merkezAdres');
$mukSave->save();
if($mukSave){
return response()->json(['status'=>1, 'success'=>'Mükellef kaydı başarılı bir şekilde oluşturuldu.']);
}
}
}
}
blade sayfam
@extends('layouts.master')
@section('content')
<!--Modal yeni mükellef kaydı-->
<div id="overlay" class="inset-0 bg-black bg-opacity-70 absolute justify-center items-center h-screen hidden">
<div class="bg-gray-200 p-5 m-5 rounded-md shadow-lg absolute">
<div class="flex justify-between">
<h4 class="text-sky-600">Yeni Mükellef Ekleme Formu</h4>
<svg id="close-modal" class="h-5 w-5 cursor-pointer hover:bg-gray-300 rounded-full"
xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
</svg>
</div>
<!--Modal body-->
<form id="addForm" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="flex space-x-2 mt-4">
<!-- Bölüm1-->
<div>
<label class="text-gray-700">Defter Tipi</label>
<select name="defterTipi"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50">
<option value="Bilanço">Bilanço</option>
<option value="İşletme">İşletme</option>
<option value="Basit Usul">Basit Usul</option>
<option value="Diğer">Diğer</option>
</select>
<span class="error-text defter_error text-sm text-red-600 px-3"></span>
</div>
<!-- Bölüm2-->
<div>
<label class="text-gray-700">Unvan</label>
<input name="unvan" type="text" autocomplete=”off”
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 unvan">
<span class="error-text unvan_error text-sm text-red-600 px-3"></span>
</div>
<!-- Bölüm3-->
<div>
<label class="text-gray-700">Adı</label>
<input name="adi" type="text" autocomplete=”off”
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 adi">
<span class="error-text adi_error text-sm text-red-600 px-3"></span>
</div>
<!-- Bölüm4-->
<div>
<label class="text-gray-700">Soyadı</label>
<input name="soyadi" type="text" autocomplete=”off”
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 soyadi">
<span class="error-text soyadi_error text-sm text-red-600 px-3"></span>
</div>
</div>
<!-- Bölüm5-->
<div class="block mt-3">
<div class="flex space-x-2">
<div class="w-1/3">
<label class="text-gray-700">TC Kimlik No</label>
<input name="tcKimlik" type="text" autocomplete=”off”
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 tcKimlik">
<span class="error-text tcKimlik_error text-sm text-red-600 px-3"></span>
</div>
<!-- Bölüm6-->
<div class="w-1/3">
<label class="text-gray-700">Email</label>
<input name="email" type="email" autocomplete=”off”
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 email">
<span class="error-text email_error text-sm text-red-600 px-3"></span>
</div>
<!-- Bölüm7-->
<div class="w-1/3">
<label class="text-gray-700">Telefon</label>
<input name="telefon" type="text" autocomplete=”off”
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 telefon">
<span class="error-text telefon_error text-sm text-red-600 px-3"></span>
</div>
</div>
</div>
<div class="block mt-3">
<div class="flex space-x-2">
<div class="w-1/3">
<!-- Bölüm8-->
<label class="text-gray-700">Kuruluş Tarihi</label>
<input name="kurulus" type="date"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 kurulus">
<span class="error-text kurulus_error text-sm text-red-600 px-3"></span>
</div>
<!-- Bölüm9-->
<div class="w-1/3">
<label class="text-gray-700">Vergi Dairesi</label>
<select name="vergiDairesi"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 vergiDairesi">
<option value="Gaziler VD">Gaziler VD</option>
<option value="19 Mayıs VD">19 Mayıs VD</option>
<option value="Diğer">Diğer</option>
</select>
<span class="error-text vergiDairesi_error text-sm text-red-600 px-3"></span>
</div>
<!-- Bölüm10-->
<div class="w-1/3">
<label class="text-gray-700">Vergi Kimlik No</label>
<input name="vergiKimlik" type="text" autocomplete=”off”
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 vergiKimlik">
<span class="error-text vergiKimlik_error text-sm text-red-600 px-3"> </span>
</div>
</div>
</div>
<!-- Bölüm11-->
<div class="mt-3">
<label class="text-gray-700">Merkez Adres</label>
<textarea name="merkezAdres"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 merkezAdres"
rows="3"></textarea>
<span class="error-text merkezAdres_error text-sm text-red-600 px-3"></span>
</div>
<!-- Buttons-->
<div class="block mt-4 p-2">
<div class="flex justify-end space-x-3">
<button id="vazgec" type="reset"
class="text-white font-light hover:bg-gray-700 bg-gray-400 rounded-lg shadow-sm px-4 py-2">Vazgeç</button>
<button type="submit" id="saveData"
class="text-white font-light bg-sky-600 hover:bg-sky-900 rounded-lg shadow-sm px-4 py-2">Kaydet</button>
</div>
</div>
</div>
</form>
</div>
<!--Yeni mükellef kaydı success message-->
<div>
<p class="success text-sm"></p>
</div>
<!--Mükellef listesi tablosu-->
<div class="overflow-x-auto shadow-md sm:rounded-lg">
@if (count($muk) > 0)
<table class="w-full text-sm text-left text-gray-500">
<thead class="text-clip text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="py-3 px-6">#</th>
<th scope="col" class="py-3 px-6">UNVAN</th>
<th scope="col" class="py-3 px-6">KURULUŞ</th>
<th scope="col" class="py-3 px-6">DEFTER TİPİ</th>
<th scope="col" class="py-3 px-6">VERGİ DAİRESİ</th>
<th scope="col" class="py-3 px-6 flex justify-end ">
<button id="open-modal" class="text-white bg-green-600 hover:bg-green-700 rounded-sm shadow-sm p-2">
+ Yeni Mükellef Ekle
</button>
</th>
</tr>
</thead>
<!--Table body-->
<tbody>
@foreach ($muk as $key => $mukList)
<tr class="bg-white border-b hover:bg-lime-50">
<th scope="row" class="hidden">
{{ $mukList->id }}
</th>
<td class="py-3 px-6">
{{ $key + 1 }}
</td>
<td class="py-3 px-6">
{{ $mukList->unvan }}
</td>
<td class="py-3 px-6">
{{ $mukList->kurulus }}
</td>
<td class="py-3 px-6">
{{ $mukList->defterTipi }}
</td>
<td class="py-3 px-6">
{{ $mukList->vergiDairesi }}
</td>
<td class="py-3 px-6 text-right">
<a href="/mukellef-detay?id={{ $mukList->id }}"
class="font-thin bg-blue-400 text-white hover:bg-blue-600 rounded-lg px-4 py-1">Detay</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="mt-2 flex justify-end p-2">
{{ $muk->links() }}
</div>
<!--Modal kayıt kontrol-->
@else
<div id="modal2" class="flex bg-black bg-opacity-50 absolute justify-center items-center h-screen inset-0">
<div class="bg-gray-200 p-5 m-5 rounded-md shadow-lg absolute ">
<div class="flex justify-between">
<h4 class="text-black pr-2">Sistemde kayıtlı herhangibir mükellef bulunmamaktadır.</h4>
<svg id="close-modal2"
class="h-5 w-5 mt-0.5 text-black hover:text-slate-600 cursor-pointer hover:bg-gray-200 rounded-full"
xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
</svg>
</div>
<!-- Yeni ekleme yönlendirme -->
<div class="flex justify-center">
<button id="open-modal" class="text-white mt-2 p-3 bg-green-500 hover:bg-green-600 rounded-md "><i
class="fa-solid fa-user-plus"></i> Yeni Ekle
</button>
</div>
</div>
</div>
@endif
@endsection
@section('scripts')
<!--JS kodları-->
<script>
$(document).ready(function(){
$('#open-modal').on('click', () => {
$('#overlay').removeClass('hidden').addClass('flex')
$('#modal2').removeClass('flex').addClass('hidden')})
$('#close-modal').on('click', () => {
$('#overlay').removeClass('flex').addClass('hidden')})
$('#vazgec').on('click', () => {
$('#overlay').removeClass('flex').addClass('hidden')})
$('#close-modal2').on('click', () => {
$('#modal2').removeClass('flex').addClass('hidden') })
$("#addForm").submit(function(event){
event.preventDefault();
// laravel ajax csrf setup
$.ajaxSetup({
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}
});
// laravel ajax post form
$.ajax({
url: '{{URL::to('mukellef-ekle')}}',
type: 'post',
data: $( "#addForm" ).serialize(),
beforeSend:function(){
$(document).find('span.error-text').text('');
},
success: function(data){
if(data.status==0){
$.each(data.error, function(prefix, val){
$('span.'+prefix+'_error').text(val[0]);
});
}else{
$('#addForm')[0];
$('#overlay').removeClass('flex').addClass('hidden');
window.location.reload('{{url::to('/mukelef')}}');
}
},
})
})
});
</script>
@endsection