77 lines
3.7 KiB
PHP
77 lines
3.7 KiB
PHP
@extends('layout.main')
|
|
|
|
@section('content')
|
|
<div class="container-xxl flex-grow-1 container-p-y">
|
|
<div class="card">
|
|
<div class="card-header border-bottom mb-4">
|
|
<h5 class="card-title mb-0">Tambah Kelompok Baru</h5>
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
<form id="addNewGroupForm" action="{{ route('group.store') }}" method="POST" >
|
|
@csrf
|
|
|
|
<h6 class="mb-3">Informasi Kelompok Tabel</h6>
|
|
<div class="row">
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-group-nama">Nama Kelompok<span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('group') is-invalid @enderror" id="add-group-nama" name="group" placeholder="Cth: Tabel Pertanian" value="{{ old('group') }}" />
|
|
@error('group')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
<div class="col-md-3 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-group-label">Label<span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control @error('label') is-invalid @enderror" id="add-group-label" name="label" placeholder="Cth: budi@email.com" value="{{ old('label') }}" />
|
|
@error('label')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12 mb-4 form-control-validation">
|
|
<label class="form-label" for="add-group-deskripsi">Deskripsi</label>
|
|
<input type="text" class="form-control @error('deskripsi') is-invalid @enderror" id="add-group-deskripsi" name="deskripsi" placeholder="Cth: Deskripsi tabel pertanian" value="{{ old('deskripsi') }}" />
|
|
@error('deskripsi')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-4 text-end">
|
|
<a href="{{ route('group.index') }}" class="btn btn-label-secondary me-2">Kembali</a>
|
|
<button type="submit" class="btn btn-success data-submit">Simpan Kelompok</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
|
|
@push('scripts')
|
|
<script>
|
|
'use strict';
|
|
$(document).ready(function () {
|
|
|
|
$.validator.addMethod("snakecase", function(value, element) {
|
|
return this.optional(element) || /^[a-z0-9]+(_[a-z0-9]+)*$/.test(value);
|
|
}, "Gunakan format snake_case (huruf kecil dan underscore)");
|
|
|
|
$('#addNewGroupForm').validate({
|
|
rules: {
|
|
group: { required: true, snakecase: true },
|
|
label: { required: true },
|
|
},
|
|
messages: {
|
|
group: { required: "Nama kelompok wajib diisi", snakecase: "Gunakan format snake_case (huruf kecil dan underscore)" },
|
|
label: { required: "Label wajib diisi" },
|
|
},
|
|
errorElement: 'div',
|
|
errorPlacement: function (error, element) {
|
|
error.addClass('invalid-feedback');
|
|
element.closest('.mb-6, .form-control-validation').append(error);
|
|
},
|
|
highlight: function (element) {
|
|
$(element).addClass('is-invalid');
|
|
},
|
|
unhighlight: function (element) {
|
|
$(element).removeClass('is-invalid');
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
@endpush |