main
ilhamwara 2025-02-11 11:11:39 +07:00
parent 03e361fcb9
commit 7d8fed3b37
2 changed files with 76 additions and 14 deletions

View File

@ -3,7 +3,12 @@
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use App\Models\User;
class CustomRegisterController extends Controller
{
@ -11,4 +16,20 @@ class CustomRegisterController extends Controller
{
return view('auth.register');
}
public function post_register(Request $request)
{
Validator::make($request->all(), [
'email' => 'required|unique:user|email|regex:/@.*\./',
'name' => 'required|max:50',
'npsn' => 'required',
'tingkat_sekolah' => 'required',
'status_sekolah' => 'required',
'alamat_sekolah' => 'required',
'kontak_person' => 'required',
'telp' => 'required',
'check' => 'required',
'password' => 'required|min:8|max:15|regex:/[a-z]/|regex:/[A-Z]/|regex:/[0-9]/|regex:/[@$!%*#?&]/', //min 8 char, maks 15 char, min 1 symbol, min 1 uppercase, min 1 lowercase, 1 number
])->validate();
}
}

View File

@ -16,9 +16,9 @@
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/vendors.bundle.css')}}">
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/app.bundle.css')}}">
<!-- Place favicon.ico in the root directory -->
<link rel="apple-touch-icon" sizes="180x180" href="img/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="img/favicon/favicon-32x32.png">
<link rel="mask-icon" href="img/favicon/safari-pinned-tab.svg" color="#5bbad5">
<link rel="apple-touch-icon" sizes="180x180" href="https://banksampah.jakarta.go.id/images/logo-dinas.ico">
<link rel="icon" type="image/png" sizes="32x32" href="https://banksampah.jakarta.go.id/images/logo-dinas.ico">
<link rel="mask-icon" href="https://banksampah.jakarta.go.id/images/logo-dinas.ico" color="#5bbad5">
<!-- Optional: page related CSS-->
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/fa-brands.css')}}">
</head>
@ -44,24 +44,32 @@
<h4>Registrasi Sekolah</h4>
</div>
@include('include.alert')
<form id="js-login" novalidate="" action="intel_analytics_dashboard.html">
<form method="POST" action="{{url('register')}}">
{{csrf_field()}}
<div class="form-group row">
<label class="col-xl-12 form-label" for="fname">NPSN</label>
<div class="col-12 pr-1">
<input type="text" name="npsn" class="form-control" placeholder="Masukan NPSN Sekolah" required>
<input maxlength="8" type="text" name="npsn" class="form-control @error('npsn') is-invalid @enderror numberInput" placeholder="Masukan NPSN Sekolah" required>
@error('npsn')
<span class="invalid-feedback"><strong>{{$message}}</strong></span>
@enderror
<small class="text-primary"><i>Pastikan NPSN Telah Sesuai</i></small>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 form-label" for="fname">Nama Sekolah</label>
<div class="col-12 pr-1">
<input type="text" name="name" class="form-control" placeholder="Masukan Nama Sekolah" required>
<input type="text" name="name" class="form-control @error('name') is-invalid @enderror" placeholder="Masukan Nama Sekolah" required>
@error('name')
<span class="invalid-feedback"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 form-label" for="fname">Tingkat Sekolah</label>
<div class="col-12 pr-1">
<select class="form-control">
<select name="tingkat_sekolah" class="form-control @error('tingkat_sekolah') is-invalid @enderror">
<option value="" data-select2-id="3">-Pilih Tingkat Sekolah-</option>
<option value="1" data-select2-id="11">SD</option>
<option value="2" data-select2-id="12">SMP</option>
@ -75,43 +83,73 @@
<option value="10" data-select2-id="20">SMA LM</option>
<option value="11" data-select2-id="21">SLB Khusus</option>
</select>
@error('tingkat_sekolah')
<span class="invalid-feedback"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 form-label" for="fname">Status Sekolah</label>
<div class="col-12 pr-1">
<select class="form-control">
<select name="status_sekolah" class="form-control @error('status_sekolah') is-invalid @enderror" required>
<option value="" data-select2-id="3">-Pilih Status Sekolah-</option>
<option value="Negeri">Negeri</option>
<option value="Swasta">Swasta</option>
</select>
@error('status_sekolah')
<span class="invalid-feedback"><strong>{{$message}}</strong></span>
@enderror
</div>
</div>
<div class="form-group">
<label class="form-label" for="emailverify">Alamat Sekolah</label>
<input type="text" class="form-control" placeholder="Masukan Alamat Sekolah, Nama Jalan / Dusun / RT-RW" required>
<input type="text" name="alamat_sekolah" class="form-control @error('alamat_sekolah') is-invalid @enderror" placeholder="Masukan Alamat Sekolah, Nama Jalan / Dusun / RT-RW" required>
@error('alamat_sekolah')
<span class="invalid-feedback"><strong>{{$message}}</strong></span>
@enderror
</div>
<div class="form-group">
<label class="form-label" for="emailverify">Kontak Person</label>
<input type="text" class="form-control" placeholder="Masukan Kontak Person" required>
<input type="text" name="kontak_person" class="form-control @error('kontak_person') is-invalid @enderror" placeholder="Masukan Kontak Person" required>
@error('kontak_person')
<span class="invalid-feedback"><strong>{{$message}}</strong></span>
@enderror
</div>
<div class="form-group">
<label class="form-label" for="emailverify">Telp/WA</label>
<input type="text" name="telp" class="form-control @error('telp') is-invalid @enderror numberInput" maxlength="16" placeholder="Masukan Telp/WA" required>
@error('telp')
<span class="invalid-feedback"><strong>{{$message}}</strong></span>
@enderror
</div>
<div class="form-group">
<label class="form-label" for="emailverify">Email</label>
<input type="email" id="emailverify" class="form-control" placeholder="Masukan Email Aktif" required>
<input type="email" name="email" id="emailverify" class="form-control @error('email') is-invalid @enderror" placeholder="Masukan Email Aktif" required>
@error('email')
<span class="invalid-feedback"><strong>{{$message}}</strong></span>
@enderror
<small class="text-primary">* Pastikan email benar dan aktif, akses aplikasi akan dikirim ke email yang didaftarkan.</small>
</div>
<div class="form-group">
<label class="form-label">Password</label>
<div class="input-group">
<input type="password" id="password" name="password" class="form-control" placeholder="Masukan Password Minimm 8 characters" required>
<input type="password" id="password" name="password" class="form-control @error('password') is-invalid @enderror" placeholder="Masukan Password Minimm 8 characters" required>
<div class="input-group-append">
<button class="btn btn-default waves-effect waves-themed" type="button" id="togglePassword"><i class="fal fa-eye"></i></button>
</div>
</div>
<div class="help-block">Your password must be 8-20 characters long, contain letters and numbers, and must not contain spaces, special characters, or emoji.</div>
@error('password')
<span class="invalid-feedback"><strong>{{$message}}</strong></span>
@enderror
<div class="help-block">
Kata Sandi harus mengandung Minimal 8 karakter, maksimal 15 karakter, <br>setidaknya 1 huruf kecil dan huruf besar, angka dan simbol
</div>
</div>
<div class="form-group">
<input type="checkbox" required> Dengan ini menyatakan bahwa isian registrasi diatas sudah benar.
<input type="checkbox" name="check" required> Dengan ini menyatakan bahwa isian registrasi diatas sudah benar.
@error('check')
<span class="invalid-feedback"><strong>{{$message}}</strong></span>
@enderror
</div>
<div class="row no-gutters">
<div class="col-md-12 ml-auto text-right">
@ -139,6 +177,9 @@
<script src="{{asset('assets/js/app.bundle.js')}}"></script>
<script>
$(document).ready(function() {
$('.numberInput').on('input', function() {
this.value = this.value.replace(/[^0-9]/g, ''); // Hanya angka 0-9
});
$('#togglePassword').on('click', function() {
let passwordField = $('#password');
let icon = $(this).find('i');