validasi kolom input
This commit is contained in:
parent
95093355f1
commit
c9b129fb7e
|
|
@ -37,8 +37,26 @@ public function create()
|
||||||
/**
|
/**
|
||||||
* Store a newly created resource in storage.
|
* Store a newly created resource in storage.
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
|
// 1. Perbaiki aturan validasi di sini
|
||||||
|
$request->validate([
|
||||||
|
// Pakai digits:16 agar user wajib input 16 angka
|
||||||
|
'nik' => 'required|digits:16|unique:balita,nik',
|
||||||
|
'nama' => 'required',
|
||||||
|
'jenis_kelamin' => 'required',
|
||||||
|
'tgl_lahir' => 'required|date|before_or_equal:today',
|
||||||
|
'nama_ortu' => 'required',
|
||||||
|
'alamat' => 'required'
|
||||||
|
], [
|
||||||
|
// Custom pesan error
|
||||||
|
'nik.required' => 'NIK wajib diisi.',
|
||||||
|
'nik.digits' => 'NIK harus berjumlah 16 digit angka.',
|
||||||
|
'nik.unique' => 'NIK ini sudah terdaftar, silakan masukkan NIK lain.',
|
||||||
|
'tgl_lahir.before_or_equal' => 'Tanggal lahir tidak boleh melebihi hari ini.',
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Jika lolos validasi, data akan disimpan
|
||||||
Anak::create([
|
Anak::create([
|
||||||
'nik' => $request->nik,
|
'nik' => $request->nik,
|
||||||
'nama' => $request->nama,
|
'nama' => $request->nama,
|
||||||
|
|
|
||||||
|
|
@ -27,15 +27,32 @@ public function create()
|
||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
|
$request->validate([
|
||||||
|
// Validasi NIK wajib 16 digit dan unik di tabel ibu_hamil
|
||||||
|
'nik' => 'required|digits:16|unique:ibu_hamil,nik',
|
||||||
|
'nama' => 'required',
|
||||||
|
'tgl_lahir' => 'required|date|before_or_equal:today',
|
||||||
|
'no_hp' => 'required|numeric',
|
||||||
|
'alamat' => 'required',
|
||||||
|
], [
|
||||||
|
// Custom pesan error agar ramah pengguna
|
||||||
|
'nik.required' => 'NIK wajib diisi.',
|
||||||
|
'nik.digits' => 'NIK harus tepat 16 digit angka.',
|
||||||
|
'nik.unique' => 'NIK ini sudah terdaftar dalam sistem.',
|
||||||
|
'tgl_lahir.before_or_equal' => 'Tanggal lahir tidak valid (melebihi hari ini).',
|
||||||
|
'no_hp.numeric' => 'Nomor HP harus berupa angka.',
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Jika validasi lolos, proses simpan data
|
||||||
IbuHamil::create([
|
IbuHamil::create([
|
||||||
'nik' => $request->nik,
|
'nik' => $request->nik,
|
||||||
'nama' => $request->nama,
|
'nama' => $request->nama,
|
||||||
'tgl_lahir' => $request->tgl_lahir,
|
'tgl_lahir' => $request->tgl_lahir,
|
||||||
|
'no_hp' => $request->no_hp,
|
||||||
'alamat' => $request->alamat,
|
'alamat' => $request->alamat,
|
||||||
'no_hp' => $request->no_hp
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return redirect()->route('ibu_hamil.index')->with('success','Data berhasil ditambahkan');
|
return redirect()->route('ibuhamil.index')->with('success', 'Data Ibu Hamil berhasil ditambahkan!');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,18 @@ public function create()
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
|
// 1. Tambahkan validasi ini
|
||||||
|
$request->validate([
|
||||||
|
'email' => 'required|email|unique:users,email',
|
||||||
|
'nama' => 'required',
|
||||||
|
'no_hp' => 'required',
|
||||||
|
'password' => 'required|min:8',
|
||||||
|
'role' => 'required'
|
||||||
|
], [
|
||||||
|
// Custom pesan error (opsional)
|
||||||
|
'email.unique' => 'Email ini sudah terdaftar, silakan gunakan email lain.',
|
||||||
|
]);
|
||||||
|
|
||||||
User::create([
|
User::create([
|
||||||
'nama' => $request->nama,
|
'nama' => $request->nama,
|
||||||
'no_hp' => $request->no_hp,
|
'no_hp' => $request->no_hp,
|
||||||
|
|
|
||||||
|
|
@ -105,4 +105,15 @@
|
||||||
.custom-input { border-radius: 0 10px 10px 0 !important; }
|
.custom-input { border-radius: 0 10px 10px 0 !important; }
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@if ($errors->any())
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||||
|
<script>
|
||||||
|
Swal.fire({
|
||||||
|
icon: 'error',
|
||||||
|
title: 'Gagal Menyimpan!',
|
||||||
|
text: '{{ $errors->first() }}', // Menampilkan pesan error pertama dari Controller
|
||||||
|
confirmButtonColor: '#FF782D',
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
||||||
|
|
@ -94,5 +94,15 @@
|
||||||
.input-group-text { border-radius: 10px 0 0 10px !important; }
|
.input-group-text { border-radius: 10px 0 0 10px !important; }
|
||||||
.custom-input { border-radius: 0 10px 10px 0 !important; }
|
.custom-input { border-radius: 0 10px 10px 0 !important; }
|
||||||
</style>
|
</style>
|
||||||
|
@if ($errors->any())
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||||
|
<script>
|
||||||
|
Swal.fire({
|
||||||
|
icon: 'error',
|
||||||
|
title: 'Gagal Menyimpan!',
|
||||||
|
text: '{{ $errors->first() }}', // Menampilkan pesan error pertama dari Controller
|
||||||
|
confirmButtonColor: '#FF782D',
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
||||||
|
|
@ -114,5 +114,16 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@if ($errors->any())
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||||
|
<script>
|
||||||
|
Swal.fire({
|
||||||
|
icon: 'error',
|
||||||
|
title: 'Gagal Menyimpan!',
|
||||||
|
text: '{{ $errors->first() }}', // Menampilkan pesan error pertama dari Controller
|
||||||
|
confirmButtonColor: '#FF782D',
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue