i dont know what is this error but im sure that is correct code, that alert is showing without im clicking the button, on my tutorial if user click that button then alert is showing.This is showing when i press F5 thanks for reading this question i hope someone can help me, im begginer so hope you guys understand.
my Controllers Subbag.php
<?php
namespace App\Controllers;
use App\Models\KasubbagModel;
use CodeIgniter\Controller;
class Subbag extends BaseController
{
protected $Kasubbag;
public function __construct()
{
$this->KasubbagModel = new KasubbagModel();
}
public function kasubbag()
{
$Kasubbag = $this->KasubbagModel->findAll();
$data = [
'title' => 'Data Kasubbag | SIKODOK',
'Kasubbag' => $Kasubbag
];
// $KasubbagModel = new KasubbagModel();
return view('page/kasubbag', $data);
}
public function Create()
{
session();
$data = [
'title' => 'Tambah Data | SIKODOK',
'validation' => \Config\Services::validation()
];
return view('page/createSubbag', $data);
}
public function save()
{
if (!$this->validate([
'nama_kasubbag' => 'required|is_unique[tbl_kasubbag.nama_kasubbag]'
])) {
$validation = \Config\Services::validation();
return redirect()->to('/Create')->withInput()->with('validation', $validation);
}
$this->KasubbagModel->save([
'nama_kasubbag' => $this->request->getVar('nama_kasubbag'),
'sub_bagian' => $this->request->getVar('sub_bagian'),
'NIP' => $this->request->getVar('NIP')
]);
session()->setFlashdata('pesan', 'Sesuai Perintah Anda!');
return redirect()->to('Kasubbag');
}
}
this is my view input createSubbag.php
<?= $this->extend('template/template'); ?>
<?= $this->section('content'); ?>
<aside class="main-sidebar elevation-4 sidebar-dark-olive">
<!-- Brand Logo -->
<a href="<?= base_url(); ?>" class="brand-link">
<img src="<?= base_url(); ?>/template/dist/img/AdminLTELogo.png" alt="SIKODOK Logo" class="rounded-circle" style="opacity: .8; width:25%; height:auto;">
<span class="brand-text font-weight-light">SIKODOK</span>
</a>
<!-- Sidebar -->
<div class="sidebar os-host os-host-resize-disabled os-host-scrollbar-vertical-hidden os-host-transition os-host-scrollbar-horizontal-hidden os-theme-light">
<div class="os-resize-observer-host observed">
<div class="os-resize-observer" style="left: 0px; right: auto;"></div>
</div>
<div class="os-size-auto-observer observed" style="height: calc(100% + 1px); float: left;">
<div class="os-resize-observer"></div>
</div>
<div class="os-content-glue" style="margin: 0px -8px; width: 249px; height: 864px;"></div>
<div class="os-padding">
<div class="os-viewport os-viewport-native-scrollbars-invisible">
<div class="os-content" style="padding: 0px 8px; height: 100%; width: 100%;">
<!-- Sidebar user panel (optional) -->
<div class="user-panel mt-5 pb-3 mb-2 d-flex">
<div class="info">
<a href="#" class="d-block">Selamat Datang. . . </a>
</div>
</div>
<!-- SidebarSearch Form -->
<div class="form-inline">
<div class="input-group" data-widget="sidebar-search">
<input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search">
<div class="input-group-append">
<button class="btn btn-sidebar">
<i class="fas fa-search fa-fw"></i>
</button>
</div>
</div>
<div class="sidebar-search-results">
<div class="list-group"><a href="#" class="list-group-item">
<div class="search-title"><strong class="text-light"></strong>N<strong class="text-light"></strong>o<strong class="text-light"></strong> <strong class="text-light"></strong>e<strong class="text-light"></strong>l<strong class="text-light"></strong>e<strong class="text-light"></strong>m<strong class="text-light"></strong>e<strong class="text-light"></strong>n<strong class="text-light"></strong>t<strong class="text-light"></strong> <strong class="text-light"></strong>f<strong class="text-light"></strong>o<strong class="text-light"></strong>u<strong class="text-light"></strong>n<strong class="text-light"></strong>d<strong class="text-light"></strong>!<strong class="text-light"></strong></div>
<div class="search-path"></div>
</a></div>
</div>
</div>
<!-- Sidebar Menu -->
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column nav-flat nav-legacy nav-compact nav-child-indent nav-collapse-hide-child" data-widget="treeview" role="menu" data-accordion="false">
<!-- Add icons to the links using the .nav-icon class
with font-awesome or any other icon font library -->
<li class="nav-item ">
<a href="#" class="nav-link ">
<i class="nav-icon fas fa-tachometer-alt"></i>
<p>
Menu
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="<?= base_url(); ?>" class="nav-link ">
<i class="far fa-circle nav-icon"></i>
<p>Home</p>
</a>
</li>
<li class="nav-item">
<a href="<?= base_url('/Feedback'); ?>" class="nav-link active">
<i class="far fa-circle nav-icon"></i>
<p>Feedback</p>
</a>
</li>
</ul>
</li>
<li class="nav-header">EXAMPLES</li>
<li class="nav-item menu-open">
<a href="#" class="nav-link active">
<i class="nav-icon fas fa-table"></i>
<p>
Tables
<i class="fas fa-angle-left right"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="<?= base_url('Data'); ?>" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>Tabel Data</p>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="<?= base_url('/Gallery'); ?>" class="nav-link">
<i class="nav-icon far fa-image"></i>
<p>
Gallery
</p>
</a>
</li>
</ul>
</nav>
<!-- /.sidebar-menu -->
</div>
</div>
</div>
<div class="os-scrollbar os-scrollbar-horizontal os-scrollbar-unusable os-scrollbar-auto-hidden">
<div class="os-scrollbar-track">
<div class="os-scrollbar-handle" style="width: 100%; transform: translate(0px);"></div>
</div>
</div>
<div class="os-scrollbar os-scrollbar-vertical os-scrollbar-unusable os-scrollbar-auto-hidden">
<div class="os-scrollbar-track">
<div class="os-scrollbar-handle" style="height: 100%; transform: translate(0px);"></div>
</div>
</div>
<div class="os-scrollbar-corner"></div>
</div>
<!-- /.sidebar -->
</aside>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1>Tambahkan Data Kasubbag</h1>
</div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="#"></a></li>
</ol>
</div>
</div>
</div><!-- /.container-fluid -->
</section>
<?php if (isset($validation)) { ?>
<div class="alert alert-danger" role="alert">
<?= $validation->listErrors(); ?>
<?php } ?>
<!-- Main content -->
<section class="content">
<div class="container">
<div class="col-md-12">
<div class="card card-dark">
<div class="card-header">
<h3 class="card-title">Tambahkan</h3>
</div>
<form action="/Subbag/save" method="post">
<?= csrf_field(); ?>
<div class="card-body">
<div class="form-group">
<label for="nama_kasubbag">Nama Kasubbag</label>
<input type="text" id="nama_kasubbag" class="form-control" name="nama_kasubbag" autofocus>
</div>
<div class="form-group">
<label for="sub_bagian">Bagian</label>
<input type="text" id="sub_bagian" class="form-control" name="sub_bagian">
</div>
<!-- <div class="form-group">
<label for="inputStatus">Status</label>
<select id="inputStatus" class="form-control custom-select">
<option selected disabled>Select one</option>
<option>On Hold</option>
<option>Canceled</option>
<option>Success</option>
</select>
</div> -->
<div class="form-group">
<style>
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* Firefox */
input[type=number] {
-moz-appearance: textfield;
}
</style>
<label for="NIP">Nomor Identitas Pegawai </label>
<input type="number" placeholder="masukkan nomor 18 digit NIP" id="NIP" class="form-control" name="NIP">
</div>
</div>
<!-- /.card-body -->
</div>
<!-- /.card -->
</div>
</div>
<div class="container">
<div class="col-12">
<a href="<?= base_url('Kasubbag'); ?>" class="btn btn-secondary">Cancel</a>
<button type="submit" class="btn btn-success float-right">Tambahkan Data</button>
</div>
</div>
</form>
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?= $this->endSection(); ?>
In your create method, you dont need to to call validation service, try to use $this->validator->getErrors()
, in your case may be like that:
return redirect()->to('/Create')->withInput()->with('errors', $this->validator->getErrors());
Or may be like this:
return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
And you dont need to check validation in your view anymore, just check if you has errors in session:
<?php if (session()->has('errors')) : ?>
<ul class="alert alert-danger">
<?php foreach (session('errors') as $error) : ?>
<li><?= $error ?></li>
<?php endforeach ?>
</ul>
<?php endif ?>