update terbaru

This commit is contained in:
bayughazali 2026-05-20 23:55:30 +07:00
parent b6a700496c
commit e9b712409c
2 changed files with 15 additions and 16 deletions

View File

@ -22,22 +22,22 @@ public function register(Request $request): RedirectResponse
{ {
// Validasi dasar terlebih dahulu // Validasi dasar terlebih dahulu
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
'name' => 'required|string|min:12|max:255', 'name' => 'required|string|min:8|max:255',
'email' => 'required|string|email|max:255|unique:users|regex:/@gmail\.com$/|regex:/^\S+$/', 'email' => 'required|string|email|max:255|unique:users|regex:/@gmail\.com$/|regex:/^\S+$/',
'phone' => 'required|string|regex:/^[0-9]+$/|min:12|max:20|regex:/^\S+$/', 'phone' => 'required|string|regex:/^\+62[0-9]{9,15}$/|max:20',
'address' => 'required|string|min:12|max:500', 'address' => 'required|string|min:12|max:500',
'password' => 'required|string|min:8|confirmed|regex:/^\S+$/', 'password' => 'required|string|min:8|confirmed|regex:/^\S+$/',
'agree' => 'required|accepted', 'agree' => 'required|accepted',
], [ ], [
'name.required' => 'Nama wajib diisi.', 'name.required' => 'Nama wajib diisi.',
'name.min' => 'Nama minimal harus 12 karakter.', 'name.min' => 'Nama minimal harus 8 karakter.',
'email.required' => 'Email wajib diisi.', 'email.required' => 'Email wajib diisi.',
'email.email' => 'Format email tidak valid.', 'email.email' => 'Format email tidak valid.',
'email.unique' => 'Email sudah digunakan.', 'email.unique' => 'Email sudah digunakan.',
'email.regex' => 'Email harus menggunakan domain @gmail.com dan tidak boleh mengandung spasi.', 'email.regex' => 'Email harus menggunakan domain @gmail.com dan tidak boleh mengandung spasi.',
'phone.required' => 'Nomor telepon wajib diisi.', 'phone.required' => 'Nomor telepon wajib diisi.',
'phone.regex' => 'Nomor telepon hanya boleh berisi angka dan tidak boleh mengandung spasi.', 'phone.regex' => 'Nomor telepon harus diawali dengan +62 dan hanya boleh berisi angka.',
'phone.min' => 'Nomor telepon minimal harus 12 karakter.', // 'phone.min' => 'Nomor telepon minimal harus 12 karakter.',
'address.required' => 'Alamat wajib diisi.', 'address.required' => 'Alamat wajib diisi.',
'address.min' => 'Alamat minimal harus 12 karakter.', 'address.min' => 'Alamat minimal harus 12 karakter.',
'password.required' => 'Password wajib diisi.', 'password.required' => 'Password wajib diisi.',

View File

@ -29,16 +29,16 @@ class="form-control @error('name') is-invalid @enderror"
value="{{ old('name') }}" value="{{ old('name') }}"
required required
autocomplete="name" autocomplete="name"
placeholder="Minimal 12 karakter"> placeholder="Minimal 8 karakter">
</div> </div>
<div class="form-text text-muted"> <div class="form-text text-muted">
<small><i class="fas fa-info-circle"></i> Nama minimal harus 12 karakter</small> <small><i class="fas fa-info-circle"></i> Nama minimal harus 8 karakter</small>
</div> </div>
@error('name') @error('name')
<div class="text-danger mt-1"><small>{{ $message }}</small></div> <div class="text-danger mt-1"><small>{{ $message }}</small></div>
@enderror @enderror
<div id="nameError" class="text-danger mt-1" style="display: none;"> <div id="nameError" class="text-danger mt-1" style="display: none;">
<small>Nama minimal harus 12 karakter</small> <small>Nama minimal harus 8 karakter</small>
</div> </div>
</div> </div>
@ -76,16 +76,16 @@ class="form-control @error('phone') is-invalid @enderror"
name="phone" name="phone"
value="{{ old('phone') }}" value="{{ old('phone') }}"
required required
placeholder="081234567890"> placeholder="+6281234567890">
</div> </div>
<div class="form-text text-muted"> <div class="form-text text-muted">
<small><i class="fas fa-info-circle"></i> Hanya angka, minimal 12 karakter</small> <small><i class="fas fa-info-circle"></i> Harus diawali +62, contoh: +6281234567890</small>
</div> </div>
@error('phone') @error('phone')
<div class="text-danger mt-1"><small>{{ $message }}</small></div> <div class="text-danger mt-1"><small>{{ $message }}</small></div>
@enderror @enderror
<div id="phoneError" class="text-danger mt-1" style="display: none;"> <div id="phoneError" class="text-danger mt-1" style="display: none;">
<small>Nomor telepon harus angka dan minimal 12 karakter</small> <small>Nomor telepon harus diawali +62 dan hanya boleh berisi angka</small>
</div> </div>
</div> </div>
@ -232,7 +232,7 @@ class="form-control"
// Real-time validation // Real-time validation
nameInput.addEventListener('input', function() { nameInput.addEventListener('input', function() {
const nameError = document.getElementById('nameError'); const nameError = document.getElementById('nameError');
if (this.value.length < 12) { if (this.value.length < 8) {
nameError.style.display = 'block'; nameError.style.display = 'block';
this.classList.add('is-invalid'); this.classList.add('is-invalid');
} else { } else {
@ -258,9 +258,9 @@ class="form-control"
const numberPattern = /^[0-9]+$/; const numberPattern = /^[0-9]+$/;
// Remove non-numeric characters // Remove non-numeric characters
this.value = this.value.replace(/[^0-9]/g, '');
if (!numberPattern.test(this.value) || this.value.length < 12) {
if (!/^\+62[0-9]{9,15}$/.test(this.value) && this.value.length > 0) {
phoneError.style.display = 'block'; phoneError.style.display = 'block';
this.classList.add('is-invalid'); this.classList.add('is-invalid');
} else { } else {
@ -340,8 +340,7 @@ function checkPasswordMatch() {
isValid = false; isValid = false;
} }
const numberPattern = /^[0-9]+$/; if (!/^\+62[0-9]{9,15}$/.test(phoneInput.value)) {
if (!numberPattern.test(phoneInput.value) || phoneInput.value.length < 12) {
document.getElementById('phoneError').style.display = 'block'; document.getElementById('phoneError').style.display = 'block';
phoneInput.classList.add('is-invalid'); phoneInput.classList.add('is-invalid');
isValid = false; isValid = false;